Как я могу предотвратить автоматическую отправку форм ботами?

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

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

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

5 ответов

Решение

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

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

Также вы можете захотеть взглянуть на оболочку CF для reCaptcha, которая совместима с CFMX 7.

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

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

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

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

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

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

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

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

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

ИЛИ ЖЕ

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

Другие вопросы по тегам