Настройка анти-спам защиты для 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 ].
Будет так же интересно
- Как защитить форму с помощью honeypot поляОпция honeypot-поле для WordPress Мы добавили дополнительную...
- Описание принципа работы API CleanTalk. Руководство по использованиюОбщая справка по API Проверка регистрации, API метод check_newuser Проверка...
- API методы CleanTalkCleanTalk APIs CleanTalk предоставляет сервисы API, которые позволяют...