Предотвратите спам, используя Медовые Горшки

8

Мне действительно любопытно, как предотвратить спам в комментариях на форуме, используя ловушку с медовым горшком для спам-ботов.

  • Что если CSS и javascript отключены в браузере?

  • Видите ли вы другие недостатки в ловушке мед горшок?

  • Как вы думаете, что должна быть у каждой ловушки для меда?

  • Знаете ли вы какую-либо другую антиспамовую альтернативу, которая не мешает работе пользователей.

sfrj
источник
Хороший обзор: nedbatchelder.com/text/stopbots.html
Я перенес это на веб-мастеров. Обратите внимание, что вам все еще может потребоваться улучшить вопрос, чтобы он соответствовал их стандартам.
NullUserException
Я удалил запрос на код CSS / HTML, поскольку это не по теме здесь. Вы можете спросить об этом в StackOverflow. Но я рекомендую сначала написать собственный код, а затем обратиться к ним за помощью, если у вас возникнут проблемы. Просто попросив других написать код для вас, вы получите массу отрицательных отзывов и, возможно, даже закроете вопрос.
Джон Конде
Какой форумный скрипт вы используете? В некоторых уже есть реализации honeypot в виде плагинов / модулей / чего угодно.
Su '28
2
@Rook CAPTCHA неоднократно демонстрировались как решаемые роботом, и наказывают всех независимо. Это о прозрачном для человека варианте.
Су

Ответы:

4

Что если CSS и javascript отключены в браузере?

Надлежащая приманка не будет полагаться ни на одну из них, чтобы работать. В идеале вы будете использовать скрытое поле формы для этого, которое не требует реального сокрытия.

Видите ли вы другие недостатки в ловушке мед горшок?

Если вы делаете это правильно, не должно быть никаких проблем, о которых пользователи будут знать. Для его работы потребуются небольшие накладные расходы, но это должно быть настолько мало, что это даже не должно вызывать беспокойства.

Знаете ли вы какую-либо другую антиспамовую альтернативу, которая не мешает работе пользователей.

Из предыдущего ответа : вы могли бы сделать несколько вещей (и должны делать больше одного), включая:

  1. Используйте CAPATCHA как reCAPTCHA

  2. Используйте поле, которое требует от пользователя ответа на вопрос, например, что такое 5 + 3. Любой человек может ответить на него, но бот не будет знать, что делать, поскольку он автоматически заполняет поля на основе имен полей. Таким образом, это поле будет либо неправильным, либо пропущенным, и в этом случае отправка будет отклонена.

  3. Используйте токен и поместите его в сеанс, а также добавьте его в форму. Если токен не отправлен с формой или не совпадает, то он автоматизирован и может быть проигнорирован.

  4. Ищите повторные представления с того же IP-адреса. Если ваша форма не должна получать слишком много запросов, но вдруг она, вероятно, попадает под бот, и вам следует подумать о временной блокировке IP-адреса.

  5. Используйте Askimet . Отлично подходит для выявления спама.

Рекомендуемое чтение: как работают спам-боты?

Джон Конде
источник
2
1 и 2 навязчивы. 3 также могут быть автоматизированы.
NullUserException
@ Джон Конде Это было очень полезно. Я постараюсь улучшить мой мед горшок. Спасибо!
sfrj
1

Я уверен, что боты формы будут игнорировать любые <input type="hidden">поля. Лучшее решение - использовать обычный текстовый ввод с обычным типом данных. Все, что вы в данный момент не используете, отлично подходит, например, веб-сайт, адрес, почтовый индекс, имя пользователя и т. Д.

Добавьте сообщение «если вы видите это поле, пожалуйста, оставьте его пустым». Оберните сообщение и введите его в элемент div с CSS, установленным для отображения: нет.

К сожалению, хотя большинство спам-ботов очень просты и глупы, многие умнее и могут обнаружить любой популярный трюк. В зависимости от характера формы может быть лучше использовать CAPTCHA или Akismet.

DisgruntledGoat
источник
1

Что-то, что я не часто вижу, является основанным на времени решением капчи. Спам работает лучше всего, если вывести его как можно быстрее. Я заменил размещенную в Google ReCaptcha с 20-секундной задержкой отправки для моих контактных форм, использующих сеансы PHP, и это значительно сократило спам. Я придумал время задержки, используя данные Google Analytics о поведении пользователей.

Cycododge
источник