2013-09-13 6 views
3

Я проводил много исследований по методам предотвращения спама, я не хочу прибегать к использованию CAPTCHA.Профилактика спама для моей контактной формы

Форма обычно отправляет электронное письмо пользователю и веб-мастеру с содержимым формы.

Первое, что я сделал, это удалить содержимое формы в электронном письме, отправленном пользователю, и просто иметь подтверждение.

Я добавил строку для названия людей и скрыл строку с использованием CSS, если поле заполнено. Подача завершается без отправки каких-либо писем.

Я хотел бы добавить еще пару техник,
Проверьте время, необходимое для отправки - не отправляйте электронные письма, если они не достигли 5 секунд.
Pass через уникальный идентификатор - не отправлять электронную почту, если совпадение

Проблема не в том, что страницы сайта кэшируются, поэтому непосредственно установка переменной сеанса бесполезно. Я рассматриваю использование ajax для попадания в CFC и установки переменной, но для этого потребуется JavaScript.

Должен ли я ограничивать представления только теми, у кого включен JavaScript? Или есть альтернативные предложения?

Благодаря

+1

Вот старше блога, который до сих пор имеет соответствующие методы: [Остановка спам-ботов с хэшей и приманок] (http://nedbatchelder.com/text/stopbots.html) –

ответ

3

Daniel,

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

сессионных тесты: Проверка времени, которое требуется, чтобы кто-то заполнить форму и проверки, что пользователь приходит с правой страницы были очень надежные чеки, хотя и несколько сопряжено с трудностями. В вашем случае, заставляя пользователей иметь современные браузеры с поддержкой javascript, может быть вашим лучшим вариантом. И похоже, что это становится более приемлемой практикой, я думаю, да? Я действительно не знаю .. тесты, основанные

Содержимое: Еще два довольно полезные практики, чтобы проверить, что поля формы содержат разные значения и не более указанного количества URL-адресов были введены. Спамеры почти всегда, похоже, придерживаются одного и того же URL-адреса мусора в каждом поле. Однако эти проверки не так хороши, как проверки на основе сеанса.

Наш эвристический спам-обнаружения имеет несколько других проверок, в дополнение к приведенным выше:

  • Основные тесты нагнетательных регулярное выражение - голыми костями, но я могу поделиться, если вы заинтересованы
  • Спам Содержание - довольно бесполезно - простая библиотека построена в основном вручную
  • Banned IP-адрес - тоже довольно бесполезно ..

Некоторые номера нашей эвристики за последний год или около того. Всего неудачных тесты = 83356

  • Failed Injection Test = 54 (0 выдержали это испытание и никаких других тестов)
  • Неудачных Слишком много URL-адресов В Input Test = 18935 (2396)
  • Ошибка Спам Content Test = 3673 (46)
  • Failed скрытом поле фальсификация Тест = 60.295 (1479)
  • Ошибка Сомнительный Время Elapse Тест = 64430 (17126)
  • Ошибка Недопустимый сеанс Тест = 28706 (140)
  • Неудачные Поля содержат те же значения Test = 167 (49)
  • Failed Banned IP-адрес (не реализовано) = 0 (0)

Я не хочу размещать слишком много подробностей о именно то, что наши критерии есть, но если вы заинтересованы, я был бы рад поделиться кодом.

-Бен

+0

Спасибо, я завершаю разработку сегодня, поэтому я думаю, что у меня будет маршрут ajax JavaScript. Спасибо за ваш вклад! –

+0

Для наблюдения - я думаю, что на самом деле я просто удалю страницу из кэширования - так будет проще! Если сайт не работает, форма не будет работать. –

1

Я предлагаю вам взглянуть на http://cfformprotect.riaforge.org/, как это работает хорошо для меня.

+0

Спасибо, вы знаете, если это работает, когда страница кэшируется? –

Смежные вопросы