Антикапча с примерами
Предисловие для пришедших и поисковиков: Скорее всего, вы искали инвайты на антикапчу или информацию о том, как ею пользоваться. Указанные две ссылки вам помогут. А эта статься немного о других вещах ;)
По ходу работы над RegSubmitter‘ом мне довелось бодаться с самыми разными капчами и теперь хочется изложить наиболее типичные ошибки, которые делают веб-программисты, реализуя антиботовскую защиту. Почему антикапча? Потому, что капча подразумевает усложнение регистрации для ботов и легкость регистрации для людей. В приведенных ниже случаях капча лишь усложняет жизнь людям, но боты обходят ее с легкостью.
-
Передача секретного кода скрипту генерации картинки в виде части URL.
Почему так нельзя делать: проверочный код не должен ни в каком виде передаваться на сторону клиента. Спамеры не дураки и распарсить нужный фрагмент html страницы, чтобы извлечь код - секундное дело.
Пример: MyElect.ru
Решение: передавать проверочный код в качестве переменной сессии.
-
Передача эталонного кода в виде скрытого поля формы.
**Почему так нельзя делать: **по сути, это еще более грубый вариант предыдущей ошибки. При таком подходе спамер сможет передавать фальшивый эталонный код, который будет геренироваться не сайтом, а программой-спамером. Естественно, передавая в качестве введенного кода тот же самый код, спамер пройдет проверку.
Пример: Savelink.org.ua (о нем я, кстати, уже писал)
Решение: как и в прошлом случае, хранить эталонный код на сервере в качестве переменной сессии.
-
Использование ограниченного набора вопросов/заданий (или, что еще хуже, вообще только одного)
Почему так нельзя делать: спамер может заранее заготовить ответы на все вопросы и подставлять всякий раз один из них, в зависимости от вопроса.
Пример:Ru-Marks.net
Решение: генерировать случайное задание.
И напоследок другая крайность: капча непроходимая как для ботов, так и для людей.
Фраза “13+18=” угадывается только после длительного и вдумчивого изучения картинки.
ОК, с ошибками разобрались, а где взять нормальную капчу? Я пользуюсь KCaptcha. Для человека она вполне читабельна, но вместе с тем я ни разу не слышал, чтобы боты ее пробивали.
UPD 15.03.09
Сейвлинк.орг.юа загнулся. Сдох. Перестал существовать. Почему-то меня это не удивляет.
PS. Естественно, индусы пишут не только разнообразные антикапчи. Они пишут и много другого говнокода ;)