Коля Митин |
Сергей! Какую задачу решает капча? Кажется, ответ очевиден: значительно затрудняет автоматизированный спам сайта или накрутку счётчиков. Но одновременно капча — это презумпция виновности: пользователь, ты бот и спамер, докажи сайту, что это неправда. Это перекладывание проблем программистов на плечи пользователей: мы ничего не смогли придумать, чтобы предотвратить спам на сайте, поэтому решайте проблему сами — вводите капчу. Для программиста капча выглядит, как серебряная пуля, но для пользователя она выглядит так: или так: Как же выжить без страшной капчи, не утонув в море спама, накрученых счётчиков и взломанных учёток? Признаюсь, у меня нет универсального рецепта и, скорее всего, его нет в принципе. Зато есть методика борьбы с ботами. Для начала просто не надо делать капчу нигде, и, возможно, она вам никогда не понадобится. Если у вас сайт с посещаемостью до десяти тысяч человек в день и начался автоматический спам, вашу форму нашёл
С очень большой вероятностью тупой бот перестанет вас беспокоить, если не с первой итерации, то со второй или третьей. Какой смысл его владельцу играть с вами в игру, в которой постоянно меняются правила, если у него ещё миллион сайтов, чтобы спамить? В случае, когда спамят именно ваш сайт, с одной стороны, бороться сложнее, а с другой проще. Вы можете изучать противника. В любой автоматизированной деятельности обязательно есть шаблон. Ваша задача — этот шаблон найти и использовать для выявления бота. Надо быть готовым к длительной холодной войне со спамерами, они будут менять алгоритмы, чтобы обойти вашу защиту. Что касается голосований, то тут всё легче. Если ваш опрос шутливый Единственное место, где, по моему мнению, уместна капча — это форма логина |
|
||||||
Борьба с ботами на сайтах с пользовательским содержанием начинается с проектирования. Возможно, стоит предусмотреть переключение между пре- и постмодерацией того, что пользователи пишут вам на сайт. Ещё можно внедрить мониторинг и оповещения о похожих сообщениях от одного пользователя или айпишника с возможностью бана и удаления всех этих сообщений. |
Определить, насколько похожи тексты, можно вычислив для них расстояние Левенштейна. | |||||||
P. S. |