Насколько эффективен методика Honeypot против спама?

StackOverflow https://stackoverflow.com/questions/3622433

Вопрос

«HoneyPot», я имею в виду более или менее эту практику:

#Register form
<style>
    .hideme{
        display:none;
        visibility: hidden;
    }
</style>
<form action="register.php">
    Your email: <input type="text" name="u-email" />
    Choose a password: <input type="text" name="passwd" />
    <div class="hideme">
        Please, leave this field blank: <input type="text" name="email" />  #the comment is for text-browser users
    </div>
    <input type="submit" value="Register" autocomplete=off />
</form>

//register.php
<?php
if($_POST['email'] != ''){
    die("You spammer!");
}
//otherwise, do the form validation and go on.
?>

больше информации здесь.

Очевидно, реальные поля называются случайными хэшами, а поля Honeypot могут иметь разные имена (электронная почта, пользователь, веб-сайт, домашняя страница и т. Д.), что Spambot обычно заполняется.

Я люблю эту технику, потому что не вызывает раздражение пользователя CAPTCHA.

У кого-нибудь из вас есть опыт работы с этой техникой? Это эффективно?

Это было полезно?

Решение

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

Мое предпочтение использовать recaptcha.. Отказ Но вышеперечисленное остановится несколько ботов.

Другие советы

Старый вопрос, но я подумал, что я буду пропущен, как я поддерживал модуль для Drupal (Горшок меда), который использует метод профилактики SPAM Honeypot, наряду с защитой на основе времени (пользователи не могут отправлять форму менее чем Икс секунды, и x экспоненциально увеличивается с каждым последовательным неудачным представлением). Используя эти два метода, я слышал о многих, многих сайтах (Примеры) которые устранили практически все автоматизированные спама.

У меня был лучший успех с Honeypot + Timestamm, чем у меня с каким-либо решением на основе CAPTCHA, потому что не только я блокирую большинство спаммеров, я тоже не наказывать мои пользователи.

С подробным техникой я блокирую 100% спам.

  1. HoneyPot с дисплеем: нет. Если не удалось, запустите дополнительный скрипт, чтобы собрать IP-адрес и записывать его в файл .htaccess на deny from.
  2. Количество номеров URL на поле комментариев. Если не удалось, предупредить только потому, что это может быть человеком.
  3. измерить время, чтобы опубликовать. Если менее 5 сек, покажите сообщение об ошибке и позвольте им попробовать еще раз, потому что человек может писать довольно быстро с помощью плагина автоматического заполнения.
  4. Обрежьте файл HTACCESS DIAIQLELY с Crontab, поэтому Line Line не пройдут более 30 строк (настройте соответственно).

Запретить доступ с IP-адресом очень эффективен, потому что боты продолжают пытаться подкрасться с тем же IPS (если они меняют IP-адреса, то я так устанавливаю этот новый IP на HTACCESS так без проблем). Я обмежую файл .htaccess ежедневно с crontab автоматически, чтобы файл не будет слишком большим. Я корректирую количество IP, чтобы заблокировать так же бот с той же IP, будет заблокирован примерно на неделю или около того. Я заметил, что тот же IP используется ботом в течение 3 дней, атакующих несколько раз.

Первые чертовые блоки № 1 около 99% и № 2 блоки около 1%, а бот не пройдет через эти 2, так что # 3 может не понадобиться.

Я использовал CAPTCHA Honeypot на трех формах с 2010 года, и он потрясающе эффективен без модификаций до совсем недавно. Мы только что внесли некоторые изменения, которые, как мы думаем, остановит большинство спам-богов, по крайней мере, пока не получит более изощренные. В широких ударах вот как мы его настроим:

Одно входное поле на каждой форме скрыто (отображение: none не указано в атрибуте класса CSS) с значением по умолчанию "". Для считывателей экрана и такого, как скрытая входная метка проясняет, что поле должно быть оставлено пустым. Не имея никакой длины по умолчанию, мы используем кодовую серверную сторону (ColdFusion в нашем случае, но это может быть любой язык), чтобы остановить представление формы, если что-то вообще вообще в этом поле. Когда мы прервав представление таким образом, мы даем ту же отзывы пользователя, как если бы это было успешно («Спасибо за ваш комментарий» или что-то подобное), поэтому нет внешнего индикации сбоя.

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

Это будет достаточно легко, чтобы добавить эту проверку, и мы сделаем это в ближайшее время. На данный момент мы добавили то, что другие предложили на пути «временной ловушки». Мы устанавливаем переменную временной переменной, когда страница загружается и сравнивает, что временной метку в то время, когда подана форма. На данный момент мы разрешаем представление через 10 секунд на странице, хотя некоторые люди предложили три секунды. Мы сделаем повыше по мере необходимости. Я хочу посмотреть, какой эффект в одиночку оказывает на трафик спама, прежде чем добавлять проверку передней стороны.

Таким образом, быстрое резюме моего опыта является это: Honeypot работает довольно хорошо, как это было первоначально задумано. (Я не вспоминаю, где я нашел его первым, но эта почта очень похоже на первый, который я видел об этом более десяти лет назад.) Это кажется еще более эффективным с добавлением Валидация на стороне клиента включена HTML5. Отказ И мы думаем, что он будет еще лучше с ограничениями на стороне сервера, которые мы теперь налагаемые на тех слишком поспешных представлений.

Наконец, я упомяну, что решения, такие как recaptcha, составляют для нас стола. Мы потратили значительное время разработки веб-приложения, используя API Map Google, и он отлично работал, пока Google не поменял их API без предупреждения и без предварительного перехода. Мы не женились на один и тот же оскорбительный супруг дважды.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top