Запретить спамерам размещать на сайте формы, не защищенные зарегистрированным идентификатором - PullRequest
3 голосов
/ 06 января 2012

Все, У меня есть функция гостевой книги на моем сайте, и я продолжаю получать спам. Я делаю проверку на стороне с помощью jquery validator и задаю математический вопрос, чтобы убедиться, что это не инструмент для рассылки спама. У меня также есть скрытое поле, которое генерирует случайное число (ключ формы) в моем запросе POST.

В бэкэнде я проверяю ключ формы, а также проверяю значения для некоторых функций выбора слов и также говорю, если isset ($ _ POST). Я до сих пор продолжаю получать спам довольно плохо и не знаю, как мне этого избежать. Иначе как заставить людей регистрироваться на сайте, как я могу предотвратить весь спам? Будем благодарны за любые дополнительные предложения!

Ответы [ 4 ]

5 голосов
/ 06 января 2012
  1. Используйте более качественную капчу, такую ​​как Re-Captcha от Google.
  2. Создайте поле медового банка, которое вы скрываете с помощью CSS.Боты обычно заполняют все поля, поэтому, если это скрытое поле заполнено, вы знаете, что это бот.
2 голосов
/ 06 января 2012

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

1 голос
/ 06 января 2012

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

http://aknosis.com/2009/04/17/zero-user-interaction-captcha/

0 голосов
/ 06 января 2012

Положите на него рекапчу.http://www.google.com/recaptcha

...