Недавно мне пришлось разбираться с защитой от ботов, используемой на нескольких довольно популярных ресурсах.
На первый взгляд защита показалась обычной установкой куки через javascript, справиться с которой — дело 15-ти минут. В самом деле, после небольшого исследования стало понятно где что делается и какие параметры куда передаются, остается только переписать небольшую функцию с javascript на php и дело в шляпе.
Но все оказалось не так просто. И хотя в итоге защита была сломана, на это потребовалось далеко не 15 минут, и сам принцип защиты оказался для меня новым и довольно интересным.
Итак, обо всем по порядку.
Читать полностью »
Рубрика «php» - 260
Информационная безопасность / [Из песочницы] Защита от ботов, основанная на различии в работе с большими числами в JavaScript и PHP
2012-02-10 в 13:51, admin, рубрики: javascript, php, боты, защита от ботов, спам, метки: javascript, PHP, боты, защита от ботов, спамHaskell / Два слова о скорости
2012-02-09 в 0:44, admin, рубрики: benchmark, c plus plus, c++, haskell, perl, php, python, метки: benchmark, c plus plus, c++, haskell, perl, PHP, python Для любой задачи можно придумать тест, который даст необходимый результат. ©
Но в этот раз никаких специальных задач не было, а просто захотелось узнать насколько быстр GHC и вот что получилось.
Дано: массив 16k целых чисел
Тест: 1000 раз quicksort
C (own) 0m2.528s x 1.00
C (qsort) 0m3.282s x 1.30
C++ (std) 0m3.250s x 1.28
Haskell 0m3.867s x 1.53
PHP 1m18.73s x 30
Python 1m38.55s x 38
Perl 2m53.69s x 67
В последних трех тестах не стояла цель получить лучшие результаты, они оставлены для общего маштаба.Исходники: as is, без специальной тест системы, использовался time (man 1 time)Железо: MacBook Pro Mid 2010 / 2.4 GHz Intel Core i5Версии:
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)
Читать полностью »
DIY или Сделай Сам / Умный дом с web-интерфейсом на perlxstut
2012-02-06 в 20:24, admin, рубрики: perl, php, pic, распознавание речи, умный дом, метки: perl, PHP, pic, распознавание речи, умный дом
В какой-то момент стало очень лениво отрывать свою пятую точку, чтобы перед сном выключить свет в комнате. И решил это дело автоматизировать. В итоге был изобретён свой велосипед для удалённого управления силовой нагрузкой – программно-аппаратный комплекс, обладающий следующими особенностями:* Возможность управления силовой нагрузкой, питаемой напряжением 220в, из любого места, где есть доступ к сети Интернет, независимо от территориальной удалённости.* Управление силовой нагрузкой через web-сайт* Клиент-серверная архитектура* Доступ к web-сайту системы с мобильных устройств, в том числе через сотовые телефоны с поддержкой WAP* ИспользованиеЧитать полностью »
Skype / [Из песочницы] Улучшаем картинки в чате Skype
2012-02-06 в 15:24, admin, рубрики: html, php, pixelart, skype, метки: html, PHP, pixelart, skype
Предисловие
17 января мне, как и многим другим, прислали ссылку на статью zhovner про картинки в чате скайпа — http://habrahabr.ru/blogs/skype/136395/, и понеслось!
Идея прикольная, мы тут же начали перекидываться картинками, сгенерированными сервисом img4skype.com, но оказалось что у многих они отображаются растянуто.
Просмотрев фрагмент кода zhovner мы быстро обнаружили что это легко можно исправить, убрав один пробельный символ.
Нужно всего лишь исправить такой код:
$out .= '███';
на вот такой:
$out .= '██';
Поэтому и была быстро сделана локальная версияЧитать полностью »
PHP / [Из песочницы] Пишем обработчик ошибок для phpredis
2012-02-03 в 9:08, admin, рубрики: php, redis, метки: PHP, redis Началось все с того, что у нас в компании решили сделать прокси/балансировщик нагрузки который бы, в зависимости от ключа, отправлял запрос на тот или иной инстанс Redis'а. Так как идеально сразу ничего не работает, то написанный на php проект, работающий с редисом(с помощью phpredis) через этот самый балансировщик, с завидной регулярности вылетал с критическими ошибками. Увы прокси не всегда правильно собирал сложные ответы сервера…
Работа с Redis'ом в коде через каждых 10 строк, и оборачивать каждый вызов в try, cache не было ни малейшего желания, но и с постоянными вылетами дебажить было сильно не удобно. Тут мне и пришла в голову идея подменитьЧитать полностью »
Symfony 4: Монолит против микросервисов
1970-01-01 в 0:00, admin, рубрики: php, symfony, метки: symfony 4В ноябре этого года планируется релиз фреймворка — Symfony 4. Предлагаю вашему вниманию обзор некоторых нововведений в архитектуре проекта.
Монолит или микросервисы? Очень жаркая тема для дискуссий. Symfony фреймворк позволяет выбрать любой из этих подходов. Стандартная редакция фреймворка, вероятнее всего более подходит для монолитных проектов из-за своей зависимости от пакета symfony/symfony. Данный пакет содержит все компоненты Symfony плюс несколько фундаментальных бандлов, а так же дополнительный функционал вроде шаблонизатора Twig или Web Profiler. Если вы планируете реализовать Rest API сервис, то безусловно этот дополнительный функционал вам не потребуется и вы спокойно можете его отключить.
Читать полностью »