Как я могу предотвратить автоматическую отправку форм ботами? - PullRequest
5 голосов
/ 12 июля 2010

Я использую ColdFusion MX, поэтому у меня нет возможности использовать встроенную функцию cfimage Captcha в моем приложении до отправки формы.

Но проблема в том, что без капчи боты отправляют формы.

Как лучше всего запретить автоматическую отправку?

Ответы [ 5 ]

9 голосов
/ 12 июля 2010

Капчи не обязательно должны быть изображениями!

Попробуйте одно из следующих решений:

  • Большинство ботов не понимают CSS.Создайте две кнопки отправки, первая со значением, которое будет отклонено сервером, вторая со значением, которое будет принято сервером.Скройте первый, используя CSS.
  • Попросите пользователя ответить на простую математическую задачу.Это потребует от вас создания математической задачи и сохранения ожидаемого решения где-нибудь (например, сеанс пользователя), а затем сравните представленный ответ пользователя с сохраненным ответом.Для дополнительной защиты вы можете создавать простые вопросы сложения, вычитания и умножения.Избегайте деления, остатки - это боль для некоторых пользователей.
  • Боты читают имена элементов формы и склонны игнорировать текстовые метки.Попробуйте создать флажок с именем «optout» (например, информационный бюллетень), установленный по умолчанию.Рядом с флажком попросите пользователя снять флажок, если он человек.Противоположный метод также работает (не отмеченный флажок, который вы просите пользователя проверить).

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

6 голосов
/ 12 июля 2010

Взгляните на cfformprotect - он будет работать с CFMX 6 и всеми последующими двигателями.

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

Также вам может понадобиться оболочка CF для reCaptcha , совместимая с CFMX 7.

4 голосов
/ 12 июля 2010

Техника, которую я использовал с другой технологией, заключалась в использовании кнопок изображений.Ваш обработчик POST получает координаты x, y, по которым были кликаны изображения.Я обнаружил, что боты (которые просто генерируют почтовые запросы) пропускают 0,0, и, отбрасывая эти запросы на пол, я уменьшил количество спам-сообщений до реальных.Извините, что я не знаю, как это сделать в CF, но я надеюсь, что техника вам пригодится.

1 голос
/ 13 июля 2010

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

Этот пост может помочь: http://www.bennadel.com/blog/405-Fully-Accessible-Spam-Form-Submission-Blocking-Using-ColdFusion-And-X-HTML-Version-III-.htm

0 голосов
/ 19 июля 2010

Как насчет использования метода расчета?Так же, как 8 + 5 =?

ИЛИ

как насчет использования ColdFusion.Ajax.submitForm?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...