Я помню сайт, закрытый из-за неправильного использования, и мне интересно, есть ли у ботов его часть. Если бот размещает что-то на моем сайте, как я могу с этим бороться? Я думал о настройке некоторых файлов cookie и об изменении файлов cookie с помощью JavaScript + отметка времени и знак (поэтому вчерашние файлы cookie нельзя использовать сегодня и на следующей неделе).
Я уверен, что большинство людей / ботов просто использовали бы другой сайт вместо того, чтобы включать JavaScript в своих ботах.
Что еще я могу сделать? Я думаю, что ежедневный лимит POST и приманка для обычных ботов, которые просто случайным образом отправляют спам.
источник
Джон Конде обрисовывает в общих чертах много хорошего. Проблема с выбором анти-бот / анти-спам техники заключается в балансе эффективности и удобства. Было бы очень неудобно заполнять CAPTCHA каждый раз, когда вы хотите опубликовать комментарий или сообщение, но если вам требуется только CAPTCHA при регистрации, то иногда это не удерживает спамеров.
Некоторые из пассивных методов являются хорошей альтернативой, так как они не требуют никаких действий со стороны человека. Проблема в том, что боты становятся все более изощренными, и если боты могут решать CAPTCHA, то они, безусловно, могут обрабатывать JS и CSS. Таким образом, вам нужно проявить немного изобретательности, например, использовать менее очевидный CSS, чтобы скрыть поля ловушки для ботов.
Но, основываясь на вашем вопросе, я думаю, вы, вероятно, понимаете, что цель состоит не в том, чтобы создать сайт, защищенный от ботов, а в том, чтобы создать достаточно сдерживающего фактора, чтобы пользователи ботов просто выбирали другие более простые цели. Таким образом, то, что требуется здесь, будет варьироваться от сайта к сайту, и, вероятно, потребует некоторого тестирования методом проб и ошибок. Сначала я бы попробовал наименее навязчивые приемы.
Наконец, еще один способ снять спам с вашего сайта - использовать модерацию, чтобы удалить любые комментарии, отправленные ботом, или спам, переданный вручную.
источник
Как упоминал Джон Конде в своем # 1) и вы упомянули, honeypot может очень хорошо работать в большинстве случаев и на большинстве веб-сайтов. Если это когда-нибудь сделает бот, вы можете просто использовать один из других методов, упомянутых Джоном. Но, честно говоря, если ваш сайт имеет низкий или средний трафик, это должно сработать.
Пример, один из моих любимых:
Теперь, когда форма отправлена, чрезвычайно высокий процент ботов будет заполнять как «email», так и «email_address», но люди будут заполнять только тот, который они видят, «email», а не «email_address». Таким образом, в вашем коде `/ process-form 'вы просто должны проверить, не является ли адрес электронной почты (не) пустым для проверки.
Просто и эффективно.
источник