SAPID INFO

Защита форм обратной связи от спама без капчи 2.0

Код формы для случая с мультиязычным (RU, TR, EN) сайтом:

Если на сайте только 1 язык – вот форма:

В обеих случаях у формы есть поля с id formo и ago. Сделано это для того, чтобы создать 1 попап для всей страницы и подставлять в поля формы информацию о том, с какой именно кнопки было вызвано всплывающее окно с формой. Привожу пример кнопки (перенос строки поставил для удобства просмотра):

В корне сайта нужно создать директорию thanks, в ней – файл index.php. Путь будет примерно такой:

  • site.ru/www/thanks/index.php
  • site.ru/thanks/index.php
  • public_html/thanks/index.php

В этот файл вставляем код обработчика.

Пример для мультиязычного (RU, TR, EN) сайта:

Как можно видеть из кода выше:

  • Обработчик проверяет скрытые поля, которые потенциально могут быть заполнены спам-ботом, и если хоть одно из них заполнено – прекращает работу.
  • Обработчик возвращает информацию о том, удалось успешно отправить сообщение или нет, что соответственно меняет сообщение на странице.
  • После вывода сообщения о статусе отправки через 15 секунд происходит переадресация на страницу, с которой была отправлена заявка.

Комментарии к статье
Антон, Сентябрь 2, 2017 в 10:03 дп:

Доработки дальше планируются?

Автор блога sapid.info, Сентябрь 2, 2017 в 11:53 дп:

Да, нужно еще js проверяющий все ли обязательные поля заполнены. iOS устройства игнорируют параметр required.

Добавьте свой комментарий - оставьте след в блоге!