Статьи

Модуль Антиспам

Опубликовано: 01.09.2018

видео Модуль Антиспам

Анти-спам в KIS (12/29)

Эксклюзивная система защиты Доски Объявлений от спамеров. Система контрольных вопросов-ответов способна остановить даже ручной спам. Возможность использовать регулярные выражения, для блокирования опасных слов такие как амфетамин, наркотик и тд. Из за подобных объявлений мой сайт уже неоднократно блокировался хостингом.



Комментарии – в тексте можно использовать комментарии, однострочный // и многострочный

/* закомментировано

много текста

*/

C помощью комментариев можно легко отключить часть текста из обработки при этом, не удаляя его. Цифровой отпечаток – берем текст и удаляем из него все символы, включая пробелы, знаки препинания, перевод строки и т.д. Оставляем только цифры! /*AUTO_BLOCK … */ – здесь хранятся данные автоблокировок, чтобы сбросить все автоблокировки достаточно удалить этот блок комментариев. Блокировка по вхождению строки . Этот текст разбивается построчно в массив, каждая строка патерн (шаблон) – то, что мы будем искать. Далее берем все поля, которые нам пришли из формы ввода: заголовок, текст, телефоны, емаел и т.д. Каждые патерн прогоняется по всем поля и ищем совпадение. Если совпадение найдено, выдаем ошибку, продолжаем искать дальше. Патерны могут быть: Цифровой, блокировка телефонов В каждой строке пишем номер телефона – только цифры, например заблокировать телефон +380682542635 – код страны писать не нужно оставляем только 0682542635 . Если в патерн содержит только цифры, то для всех полей, из формы ввода, будет дополнительно создан цифровой отпечаток и искать совпадение будем, как в самом поле, так и в его отпечатке. Поэтому даже если найдется какой-то умник и попытается пропихнуть свой телефон в заголовке в таком виде: 068 и 254 плюс 26 и 35 у него все равно ничего не выйдет. Надо быть осторожным, если вы хотите блокировать телефон с коротким номером (4-5 цифр) – не исключено случайное совпадение с цифровым отпечатком. Обычная строка, блокировка строки например заблокировать текст с фрагментом домена:


Антиспам

mysate.com.ua

или заблокировать текст со словом:

срочно

Поиск использует функцию mb_stristr не чувствителен к регистру и найдет все варианты срочно , Срочно , СРОЧНО …. Регулярное выражение – если патерн начинается символом ~ он трактуется как регулярное выражение. Например заблокируем все варианты такого опасного слова как амфетамин, из-за которого мои сайты уже не раз получали предупреждение от раскомнадзора и даже блокировались хостингом. Патерн будет такой:


ЗАРАБОТОК 940 ДОЛЛАРОВ ЗА 5 МИНУТ / ЧЕСТНЫЙ ОБЗОР

~амфетамин[а-я]*~u

– найдет все варианты амфетамин, амфетаминами, амфетамины и тд. В принципе для такого простого примера можно использовать блокировку обычной строки задав только корень слова амфетамин , он также найдет все выше перечисленные вхождения. Вообще, старайтесь использовать простой поиск – он работает быстрее. Синтаксис регулярных выражений изучайте самостоятельно – слишком обширная тема. Блокировка IP Пишем каждый IP или диапазон IP в отдельной строке. Пример заблокировать IP:

123.45.65.78

заблокировать диапазон IP:

123.45.65.0/120 Автоблокировка 2 видов: Новые объявления – отслеживаем время между новыми объявлениями, как только пользователь создал новое объявление, его телефоны и IP записывается в блок AUTO_BLOCK соответственно, устанавливается время создания. Следующее новое объявление пользователь с такими телефонами и IP сможет создать только по истечению ==Интервал между новыми сообщениями== задается в админке. Контрольные вопросы-ответы это возможность вместо обычной капчи использовать нарисованы вопросы и варианты ответов. Для этого необходимо в админке: установить галочку ==Контрольные вопросы – ответы== , затем обязательно задать Шифр-ключ (любой набор символов), установить =Количество неудачных ответов перед блокировкой пользователя= , установить ==Время блокировки== – время на которое пользователь будет блокирован если он, все таки, не сможет ответить на контрольный вопрос.

Далее написать список этих самых вопросов-ответов. Формат простой, построчно пишем:

Вопрос правильный ответ неправильный ответ 1 неправильный ответ 2 неправильный ответ 3 и т.д.

Если текст слишком большой и надо выполнить перенос строки вставляем ‹br› .

Блоки вопросов разделяются пустой строкой.

*Вопросы и ответы я придумал, чтобы ограничить поток рекламных объявлений на городской доске объявлений Ильичевск . Вопросы предполагают минимальное знание города: расположение объектов, известных людей города и другие специфические вопросы. Например вопрос – Известный бизнесмен нашего города – далее список фамилий или Самый большой базар нашего города . Для того, чтобы ответить на эти вопросы не достаточно посмотреть goole map или почитать новости интернет, надо просто быть жителем города :).

Формула в качестве контрольных вопросов можно использовать простую математическую формулу, для этого надо включить галочку ==Включить формулу== Алгоритм блокировки – если пользователь не смог ответить заданное число раз на контрольный вопрос, все его телефоны + IP адрес записываются в блок AUTO_BLOCK и соответственно блокируются. Через время указанное выше телефоны и IP будут автоматически разблокированы. в AUTO_BLOCK формат записи такой:

065065065//2//4//2014-06-17 08:37:10//2014-06-18 16:57:59

в качестве разделителя параметров используется двойной слеш // (как комментарии) 065065065 – телефон 2 – юзер 2 раза ответил на контрольный вопрос неправильно по истечению времени блокировки этот параметр сбрасывается в ноль 4 – всего неправильных ответов, не сбрасывается 2014-06-17 08:37:10 – время последнего неправильного ответа 2014-06-18 16:57:59 – время последнего нового сообщения

Чтобы разблокировать отдельный телефон или IP нужно просто удалить соответствующие строки из AUTO_BLOCK или сбросить в ноль второй параметр.

2011.11.19
Карта
rss