Captchas не работают: как обмануть спам-ботов с HoneyPot

  1. Что такое капча?
  2. Что такое спамбот?
  3. Итак, как вы остановите спам-ботов?
  4. Что такое приманка?
  5. Обманывая спам-ботов с умной приманкой
  6. Тестирование Теорий Honeypot
  7. Нужна система хранения файлов на основе API?

Кто-нибудь еще устал быть пойманным в бесконечной петле капч? Странный текст может быть очень трудно прочитать, особенно если он полон случайных букв, которые выглядят как цифры, и наоборот. Я действительно ненавижу, когда буквы так сжаты, что вы не можете их прочитать. Должно быть лучшее решение!

Что такое капча?

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

Как вы относитесь к этим тестам капчи? Они заставляют меня чувствовать, что сайт не доверяет мне. Они встают между мной и моей целью, замедляют меня и раздражают меня. У меня такое ощущение, что я не одинок в этом.

Что такое спамбот?

Спамбот - это часть программного обеспечения, написанная с определенной целью - заполнение форм информацией, полезной автору спамбота. Это обычно принимает форму комментариев, которые содержат ссылки, которые могут помочь SEO их сайта (поисковая оптимизация). Умный автор может извлечь математическую задачу из вашей формы и рассчитать ответ. Очень умный автор спама может также обойти изображения капчи.

Итак, как вы остановите спам-ботов?

Лучший способ остановить спам-ботов - использовать плагин Akismet. К сожалению, эта услуга сейчас стоит денег. Я не видел упоминаний на их сайте о снижении цен для некоммерческих организаций. Для небольшого личного блога или небольшой некоммерческой организации это слишком дорого.

Пришло время для творческого решения программирования! Чтобы остановить спамбот, вы должны думать, как программист, пишущий спамбот. Простейшие спам-боты видят форму и заполняют каждое поле формы. Итак, каково решение?

Что такое приманка?

Приманка - это поле, добавленное в форму, которое пользователи не могут видеть из-за CSS или JavaScript (который скрывает поле). Honeypots - это круто, потому что они не доставляют неудобств пользователям, таким как капча, и являются надежным инструментом для предотвращения спам-ботов. По сути, спамбот заполняет поле, которое не видны действующим пользователям, оповещая нас об их активности. Если поле honeypot заполнено, мы можем с уверенностью отклонить форму как спам.

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

Обманывая спам-ботов с умной приманкой

Пришло время активизировать нашу игру, программисты! Вот комбинация методов защиты от спама, которая делает отличную защиту от спама:

  1. Создайте приманку с тем же именем, что и у одного из полей по умолчанию. Сделайте так, чтобы это выглядело законно с этикеткой Если вы используете начальную загрузку, сделайте так, чтобы она выглядела совершенно корректно с меткой и значком. Мы не хотим предупреждать бота каким-либо образом, что это поле особенное.
  2. Поместите приманку в форму в случайном месте. Продолжайте перемещать его между допустимыми полями. Мы не хотим, чтобы автор спамбота просто игнорировал одно и то же поле на основе индекса.
  3. Переименуйте свои поля по умолчанию в нечто случайное. Имейте в виду, что вы должны преобразовать его обратно в правильное имя на стороне сервера. Присваивая названия полям по умолчанию чему-то случайному, действительные поля теперь начинают выглядеть как споты для приманок.
  4. Добавьте срок действия к вашей форме. Это не позволит спам-боту использовать те же поля и отправлять форму позже.
  5. Скрыть свою форму. Вы должны скрыть honeypot, чтобы действительные пользователи не заполнили его. В своей форме я прячу приманку с помощью JavaScript. Вы все еще можете скрыть это поле с помощью CSS. Если вы используете CSS, лучше всего использовать класс, содержащий случайное слово. Другими словами, если вы назовете это «скрыть», то автор спамбота легко его выберет.

Другими словами, если вы назовете это «скрыть», то автор спамбота легко его выберет

Тестирование Теорий Honeypot

Я написал плагин WordPress, который использует эти методы для проверки всех вышеперечисленных концепций. Результат? Спам-боты заполняют горшок с медом каждый раз! Это здорово, потому что комментарии теперь автоматически помечаются как спам, и это избавляет меня от необходимости нажимать кнопку спама каждый день.

Я думаю, что первый пункт, использующий те же поля по умолчанию в honeypot, является ключевым, потому что спам-боты WordPress определенно будут искать 4 общих поля, которые есть в каждой форме комментариев WordPress. Это распространенный след, используемый спаммерами и спам-комментариями. Я думаю, хорошая новость в том, что вы знаете, что ваш SEO начинает работать, когда спам-боты находят формы на вашем сайте.

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

Есть ли у вас какие-либо дополнительные приемы или идеи о том, как обойти вышеуказанные приемы? Как бы вы использовали honeypot, чтобы помешать спам-ботов? Дай мне знать в комментариях.

Обновление (05 февраля 2014 г.): Эта более умная приманка доступна для Django. Бен Тимби изначально написал это, и мне недавно пришлось быстро изменить код. Проверьте Джанго-secureform на GitHub.

Обновление (06 марта 2014 г.): давайте проверим другую теорию. Публичный релиз плагина WordPress снизит его эффективность? Проверять, выписываться сор смарт-приманка на GitHub.

Обновление (29 сентября 2014 г.): теперь есть вилка wp-smart-honeypot под названием tarpit: https://github.com/cferdinandi/tarpit

Кредит изображения: http://www.jongales.com/

Нужна система хранения файлов на основе API?

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

Хранить и получать данные

Host & Serve Media

Распространять контент сайта

Что такое капча?
Что такое спамбот?
Итак, как вы остановите спам-ботов?
Что такое приманка?
Кто-нибудь еще устал быть пойманным в бесконечной петле капч?
Что такое капча?
Что такое спамбот?
Итак, как вы остановите спам-ботов?
Итак, каково решение?
Что такое приманка?