Поиск

Предлагаемые теги:

Настройка сниппета антиспама для MODx под AjaxForm

Настройка сниппета антиспама для MODx под AjaxForm

Спам-боты становятся все более изощренными, заполнение форм и отключение JavaScript приводят к недостоверным данным и перегрузке сервера. Решение проблемы – использование эффективного антиспама для платформы MODx.

Создание сниппета validate – ключевой шаг в борьбе со спамом. Он осуществляет проверку данных, предотвращая отправку формы при обнаружении подозрительной активности. Сниппет проверяет поле org, добавленное с помощью JavaScript, и блокирует форму при его заполнении либо отсутствии. 

Создание сниппета validate

Создание сниппета – простой и эффективный способ обеспечить безопасность форм. Создаем сниппет validate с данным кодом:

<?php
function text_error(){
    return false;
    die();
}
if(isset($_POST['org'])){
    if($hook->getValue('org')!=''){
            $modx->log(xPDO::LOG_LEVEL_ERROR, 'Ошибка заполнения формы: не пустое поле антиспама');
            $modx->log(xPDO::LOG_LEVEL_ERROR, print_r($_POST, 1));
            text_error();
    }else{
        return true;
    }
}else{
    $modx->log(xPDO::LOG_LEVEL_ERROR, 'Ошибка заполнения формы: нет поля антиспама');
    $modx->log(xPDO::LOG_LEVEL_ERROR, print_r($_POST, 1));
    text_error();
}

Интеграция с формой

Использование сниппета вместе с формой AjaxForm требует настройки хука validate. В вызов формы AjaxForm добавляем хук validate:

// Вызов формы с хуком validate
&hooks=`validate, email, FormItSaveForm`

Дополнительная защита

Для усиления защиты, добавим скрипт с использованием jQuery. Этот скрипт предотвратит отправку формы при заполненном поле “org” и при его отсутствии:

      // Антиспам
$(function(){
    $('.ajax_form').append('<input type="text" name="org" value="" class="_org" style="visibility:hidden; height: 0; width: 0; padding: 0; border:none;"/>')
})
      // Антиспам 

Антиспам для MODx под AjaxForm - необходимый компонент для обеспечения безопасности и эффективной работы форм вашего сайта. Сниппет validate и JavaScript-скрипт создают надежный барьер против спам-ботов.

Теги:
Иван Третьяков
Автор

Иван Третьяков