Защита от спама в modx formit + AjaxForm без Google reCAPTCHA

Не всем нравится google recaptcha v2 да и у ботов получается ее обходить, но есть просто решение которое многие используют, подсмотрел его вроде modx.pro и чутка модифицировал




Алгоритм очень прост, мы добавляем на форму невидимое поле, не с типом hidden, а просто обычный input скрытый при помощи css, даем ему имя типа work-email и пишем простейший сниплет проверки данного поля на заполненость, бот не сможет пройти мимо и обязательно заполнит email.

Поле input
<input type="text" placeholder="Ваш рабочий email" name="work-email" value="">
Его css
input[name=work-email] {
    padding: 0;
    margin: 0;
    border: none;
    max-width: 0;
    max-height: 0;
}
Snippet: checkOnSpam
<?php
if ($_POST['work-email']) { 
    //$modx->log(modX::LOG_LEVEL_ERROR, 'СПАМ ДЕТЕКТЕД: \r\n' . print_r($_REQUEST,true));
    echo $AjaxForm->success('Ваше сообщение отправлено');
    die();
} else {
    //$modx->log(modX::LOG_LEVEL_ERROR, 'Письмо: \r\n' . print_r($_REQUEST,true));
    return true;
}
Добавляем сниппет в обработку FormIt
{$_modx->runSnippet('!AjaxForm',[
    'snippet' => 'FormIt',
    'form' => 'form.tpl',
    'emailTpl' => 'form.email',
    'hooks' => 'checkOnSpam, email',
    'emailSubject' => 'Письмо с сайта',
    'emailFrom' => 'info@yoursite.ru',
    'emailTo' => 'your@email.ru'
    'validate' => 'name:required',
])}

Вот как то так, надеюсь это вам поможет избавиться от спама!

Комментарии ()

    Авторизация

    GitHubGoogleVkontakteYandex
    Есть вопрос или предложение пиши в Telegram @cloudsv

    MTProto прokси для Telegram

    Прямой эфир

    cloudsv 26 октября 2024, 11:31
    MySQL Workbench падает при подключении 4
    Diego mont 25 мая 2023, 07:04
    Полезные боты в Telegram 2
    cloudsv 24 апреля 2023, 17:56
    Обновление Scala Rider G4 52
    cloudsv 12 ноября 2022, 19:16
    Установка и настройка minidlna 3
    cloudsv 03 ноября 2022, 03:42
    Настройка прокси mtproto для Telegram 52
    cloudsv 03 января 2022, 10:50
    Let's Encrypt это легко и просто 4
    cloudsv 05 августа 2020, 11:57
    Мне вчера стукнуло 34 4
    cloudsv 07 августа 2023, 22:56
    Linux Asus ROG x13 flow 2022 GV301RE и Linux 0
    cloudsv 15 апреля 2023, 16:23
    Linux Уведомление о смены workspace в X11 Linux 0
    cloudsv 17 октября 2020, 09:55
    Linux Отключить DHCP IPv6 в systemd 0
    cloudsv 30 июля 2020, 21:54
    О жизни Мне вчера стукнуло 34 4
    cloudsv 15 апреля 2020, 15:45
    Linux Основные hotkeys редактора Vim 0
    cloudsv 01 октября 2019, 08:00
    Linux Локальный редирект порта в Linux 0
    cloudsv 25 августа 2019, 16:14
    О жизни Социальная сеть от Яндекса Aura 0
    cloudsv 30 июля 2019, 21:34
    О жизни 33 year old 0
    cloudsv 25 июня 2019, 18:29
    Telegram Полезные боты в Telegram 2