суббота, 9 мая 2009 г.

Грамотное использование CAPTHA на сайте


В интеренете я неоднократно встречал информацию о том что установка CAPTHA на сайт – это лишь одна из мер по борьбе со спамерами и накрутчиками голосований. Эта мысль довольно ясна и прозрачна, тем не менее, даже такие крупные сайты как Time могут это не учитывать. Понятно, что у этого журнала поддержкой сайта занимаются субподрядчики и они, скорее всего, гораздо сильнее в маркетинге, чем в разработке программного обеспечения. Я обращаю на это внимание потому, что в своей работе частенько сталкиваюсь с этой проблемой. При работе над солидным сайтом, заказчик скорее обращается к крупной компании, чем к более маленькой.
Что же произошло. Журнал Time проводил опрос на тему кого его читатели считают самым влиятельным человеком в мире – и ответ 42 (привет Дугласу Адамсу) – на самом деле в результате голосования выяснилось, что ‘Worlds’s most influential person, is moot’ - причем первые буквы имен людей в рейтинге составляет фразу ‘Marblecake, also the game’, что, согласитесь, явно не спроста. Ответ нашелся быстро такой потрясающий результат был достигнут благодаря анонимусам с 4chan, имаджборды аналогичной ныне запиленному двачу.
Как это было. Сначала разработчики вообще не предусмотрели никакой проверки на ботов, что позволило выстроить с помощью специального бота фамилии в необходимом порядке. После введения разработчиками капчи бот перестал работать, и реальные люди голосую испортили фразу. Анонимусы пытались внести в базу reCAPTHA – которая использовалась на сайте уязвимость, которая должна была бы облегчить написание бота, но не успевали это сделать. В результате был брошен зов и толпы анонимусов, благодаря разработанной методике, вручную, выставили фразу обратно. Более подробно о исследовании на эту тему можно прочитать на английском языке в оригинальной статье.
Самый главный вывод из статьи, всегда зачищаться от ботов, даже на простеньком сплоге, при этом учитывать, что есть методики защиты и без использования CAPTHA. На более популярных или важных сатйтах предусматривать защиту от распаралеливания задач, как это было сделано на финальном этапе манипуляци Time.

Комментариев нет: