Настройка анти-спам защиты для osTicket
-
Скачайте CleanTalk API с Github.com
-
Распакуйте скачанный архив в корневую папку с osTicket. Вы увидите папку с названием "php-antispam-master". Переименуйте её в "cleantalk"
-
Отредактируйте скрипт "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 ].