Skip to content

Капча для плагина Contact Form 7

Прекрасный плагин защиты от ботов — Really Simple CAPTCHA, который изначально создавался для популярнейшего плагина Contact Form 7число скачиваний которого перевалило уже далеко за миллион. Но теперь этот плагин расширил свое предназначение и способен вызывать свои функции в других плагинах. Естественно гарантия совместимости с плагином Contact Form 7 остается на высоком уровне, спросите почему? Да потому что разработку обоих этих плагинов ведет один и тот же разработчик — Takayuki Miyoshi.

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

Как работает плагин?

На самом деле все очень просто. Really Simple CAPTCHA, не использует PHP-«сессий», а создает просто временные файлы для последующей сверки.

Вот пример формы, где при каждом обновлении (запросе) страницы мы будем видеть разные картинки.

Форма обратной связи

В момент когда запрашивается страница с контактной формой в специальной рабочей директории /wp-content/uploads/wpcf7_captcha/ создаются два файла: собственно сама картинка и специальный тестовый файл:

Директория на сервере
Вид директории на сервере в момент запроса форм

У обоих файлов есть одинаковый префикс, чтобы избежать конфликта, так как на сайте могут одновременно запрашиваться и еще страницы содержащие формы. Так вот, текстовый файл хранит хеш-сумму букв на картинке(как в примере на рисунке выше) A7EY, когда поступает ответ (после ввода и отправки), плагин сверяет эти две хеш-суммы: ту которую дают буквы с картинки с той которая хранится в одноименном, но текстовом файле, и если они совпадают, то валидация считается прошедшей и функция выполняется дальше и форма отправляется … В противном же случае мы получим следующий результат и как следствие после «экшена» создание уже новой картинки и новых сумм 🙂

Ошибка при отправке

Логотип компании Axoft
Логотип компании Timeweb
Логотип компании Ozon
Логотип компании Nethouse
Логотип компании CreativeMarket
Логотип хостинг-компании Pressjitsu