Ne v kontakte Antisocial programmer's blog

Антикапча с примерами

Предисловие для пришедших и поисковиков
Скорее всего, вы искали инвайты на антикапчу
или информацию о том, как ею пользоваться.
Указанные две ссылки вам помогут.
А эта статься немного о других вещах ;)

По ходу работы над RegSubmitter‘ом мне довелось бодаться с самыми разными капчами и теперь хочется изложить наиболее типичные ошибки, которые делают веб-программисты, реализуя антиботовскую защиту. Почему антикапча? Потому, что капча подразумевает усложнение регистрации для ботов и легкость регистрации для людей. В приведенных ниже случаях капча лишь усложняет жизнь людям, но боты обходят ее с легкостью.

1) Передача секретного кода скрипту генерации картинки в виде части URL.
Почему так нельзя делать: проверочный код не должен ни в каком виде передаваться на сторону клиента. Спамеры не дураки и распарсить нужный фрагмент html страницы, чтобы извлечь код - секундное дело.
Пример: MyElect.ru
Решение: передавать проверочный код в качестве переменной сессии.

2) Передача эталонного кода в виде скрытого поля формы.
Почему так нельзя делать: по сути, это еще более грубый вариант предыдущей ошибки. При таком подходе спамер сможет передавать фальшивый эталонный код, который будет геренироваться не сайтом, а программой-спамером. Естественно, передавая в качестве введенного кода тот же самый код, спамер пройдет проверку.
Пример: Savelink.org.ua (о нем я, кстати, уже писал)
Решение: как и в прошлом случае, хранить эталонный код на сервере в качестве переменной сессии.

3) Использование ограниченного набора вопросов/заданий (или, что еще хуже, вообще только одного)
Почему так нельзя делать: спамер может заранее заготовить ответы на все вопросы и подставлять всякий раз один из них, в зависимости от вопроса.
Пример: Ru-Marks.net
Решение: генерировать случайное задание.

И напоследок другая крайность: капча непроходимая как для ботов, так и для людей:

None

Фраза “13+18=” угадывается только после длительного и вдумчивого изучения картинки.

ОК, с ошибками разобрались, а где взять нормальную капчу? Я пользуюсь KCaptcha. Для человека она вполне читабельна, но вместе с тем я ни разу не слышал, чтобы боты ее пробивали.

UPD 15.03.09
Сейвлинк.орг.юа загнулся. Сдох. Перестал существовать. Почему-то меня это не удивляет.

PS. Естественно, индусы пишут не только разнообразные антикапчи. Они пишут и много другого говнокода ;)

blog comments powered by Disqus