Настройка анти-спам защиты для osTicket

 

  1. Скачайте CleanTalk API с Github.com

  2. Распакуйте скачанный архив в корневую папку с osTicket. Вы увидите папку с названием "php-antispam-master". Переименуйте её в "cleantalk"

  3. Отредактируйте скрипт "open.php" в корневой папке с osTicket

 

Для начала, вам необходио подключить CleanTalk API к вашему сайту. Вы можете вставить этот код в самое начало вашего скрипта:

session_start(); //Создание сессии
require_once (dirname(__FILE__) . '/cleantalk/cleantalk-antispam.php');

 

Замените следующий код:

if(($ticket=Ticket::create($vars, $errors, SOURCE))){
    $msg=__('Support ticket request created');
// Drop session-backed form data
    unset($_SESSION[':form-data']);
//Logged in...simply view the newly created ticket.
    if($thisclient && $thisclient->isValid()) {
        session_write_close();
        session_regenerate_id();
        @header('Location: tickets.php?id='.$ticket->getId());
    }
}
else {
    $errors['err']=$errors['err']?$errors['err']:__('Unable to create a ticket. Please correct errors below and try again!');
}

 

На этот:

$uform = UserForm::getUserForm()->getForm($_POST);
$config_url = 'http://moderate.cleantalk.org'; //Адрес сервера
$auth_key = '000000000'; // Ваш ключ доступа
$ct_request = new CleantalkRequest();
$ct_request->auth_key = $auth_key; //Переменная с ключом доступа
$ct_request->message = $tform->getField('message'); //Сообщение для проверки
$ct_request->method_name = 'check_message'; //Метод для проверки сообщения 
$ct_request->sender_email = $uform->getClean()['email']; //E-mail адрес для проверки
$ct_request->sender_nickname = $uform->getClean()['name']; //Имя для проверки 
$ct_request->agent = 'php-api'; //Имя расширения. Оставьте без изменений.
$ct_request->sender_ip = $_SERVER["REMOTE_ADDR"]; //IP-адрес для проверки 
$ct = new Cleantalk();
$ct->server_url = $config_url;
$ct_result = $ct->isAllowMessage($ct_request);
if ($ct_result->allow == 1) {
    if(($ticket=Ticket::create($vars, $errors, SOURCE))){
        $msg=__('Support ticket request created');
// Drop session-backed form data
        unset($_SESSION[':form-data']);
//Logged in...simply view the newly created ticket.
        if($thisclient && $thisclient->isValid()) {
            session_write_close();
            session_regenerate_id();
            @header('Location: tickets.php?id='.$ticket->getId());
        }
    }
    else{
        $errors['err']=$errors['err']?$errors['err']:__('Unable to create a ticket. Please correct errors below and try again!');
    }
}
else {
    echo 'Comment blocked. Reason ' . $ct_result->comment;
}

 

Следующая строку можно заменить на ваше собственное сообщение о блокировке:

echo 'Comment blocked. Reason ' . $ct_result->comment;

 

Например:

@header('Location: blocked.php');

 

Создайте тикет, используя почту из черного списка s@cleantalk.org. В результате Вы увидите сообщение о блокировке в самом верху страницы.

 

 

Если Вы не нашли ответ на интересующий вас вопрос, то предлагаем вам связаться с нашими специалистами. [ https://cleantalk.org/my/support/open ].

 

 

Была ли эта информация полезной?

Нет

Да




Возможно, будет так же интересно