Recaptcha v3 как добавить на сайт для защиты от спама?

Вот такое письмо счастья от хостера получил клиент

TIMEWEB> Спам.

Уважаемый клиент!

От имени вашего пользователя cpxxxx была зафиксирована рассылка писем на несуществующие почтовые ящики, что классифицируется как спам-рассылка. Согласно правилам предоставления услуг, любой вид спама запрещен, поэтому мы были вынуждены заблокировать возможность отправки писем с сервера….

Смотрим логи.  А в логах вот такая строчка:

Jan 29 22:07:48 bitrixххх splogger[12019]: 1iwsgm-00037r-6E X-PHP-Originating-Script: «1080:tools.php»

1080:tools.php это Битрикс, знаю уже по опыту. И практически всегда это форма контактов, изредка авторизации.

Я уже писал ранее как добавить Рекаптчу от Гугла на Битрикс. Сам им пользовался несколько раз и решил что оно неудачное, неудобно править несколько файлов в разных местах. Выкладываю решение попроще и более универсальное. Описываю для Битрикса, но оно  c минимальными правками годится и для большинства других CMS.

1. для начала на сайте https://www.google.com/recaptcha/admin зарегить сайт который будем защать от спама. Выбрать последнюю recaptcha v3 и получить 2 ключа

2. подключаем в начале страницы которую нам надо защитить от спама файл recaptcha.php . В него вписать ваши ключи. Вот его код:

В моем случае я его подключал в файл kontakty/index.php в самое начало require «recaptcha.php»;

3. Далее сразу после формы вставляем javascript . В нем через php <?php echo RECAP_CLIENT ?> вставляется код ключа полученный от гугла, но можно вписать и напрямую. Элемент  формы в который Google Recaptcha записывает токен для защиты от спама, добавляется «на лету»

Вот так выглядит через инспектор добавленный input для рекаптчи если вы все сделали правильно.

4. Теперь нам надо написать сам обработчик для защиты от спама. Мой вариант с точки зрения программирования для Битрикса тот еще костыль. Но экономит время и главное что весь код в одном месте, проще отладка, если она нужна и не надо искать. Это решение не годится если форма обрабатывается «аяксом», тогда придется искать где сам обработчик и добавлять обработку в него.

Итак  сразу после require «recaptcha.php»; добавляем обработчик.

5. И завершающий пункт, добавил в ту же папку error.php . В нем у меня просто сообщение об ошибке.

Вот собственно и все.

Вот так выглядит статистика на форме прикрытой от спама рекапчей на одном из рабочих bitrix сайтов у клиента. bitrix recaptcha

Если у вас что либо не получилось, могу помочь, разумеется за вознаграждение.

Контакты

fStrange

fstrange.ru

cure@fstrange.ru

You may also like...