Построение Эффективной Системы Защиты От Спама

В любой системе, где есть общение пользователей, будет проблема с защитой от спама.

Рассмотрим построение системы на примере комментирования записи в блоге и т.п.

Мы не будем использовать принудительную регистрацию и капчу.

Мы будем использовать Система баллов Решить эту проблему можно введением системы принудительной регистрации – это когда невозможно добавить новый комментарий без предварительной регистрации в этой системе.

Это может быть усложнено требованием подтверждения вашего адреса электронной почты.

Второй, часто используемый метод — внедрение проверки бота (CAPTCHA).

Что не так с этой капчей? Возможно она спасет наш блог от спама.

Однако это серьезно ограничивает добавление новых комментариев.

Потому что если вы потратите 10 секунд на написание своего очень полезного комментария и 10 секунд на то, чтобы разобраться, что изображено на этой самой капче, вы можете просто облениться или не угадать цифры.

Есть еще несколько вариантов антиспама (антиботов) — сделать сложную форму с блэкджеками и хешами.

Вы можете скрыть форму (и показать ее по запросу в JavaScript).

И другие приемы, усложняющие жизнь спамерам.



Система баллов

Попробуем проанализировать сообщения на сервере и решить, спам это или нет. На основе статьи Как я создал эффективный блокировщик спама в комментариях в блогах , по совету первохолодник .

Это набор правил, по которым к сообщению добавляются или вычитаются определенные баллы по определенным правилам.

За каждый комментарий, который нравится системе, вы получаете баллы.

Когда системе не нравятся сообщения, она забирает баллы.

Если после всех проверок сумма составляет 1 и более баллов, сообщение публикуется.

Если 0, оно помечается как спам и публикуется.

Если оно меньше 0, то его можно смело уничтожить.



Виды спама

Спам случается авто И руководство .

Автоматический спам (спам-боты) обнаружить легче всего.

Существует несколько факторов, которые определяют, что сообщение является спамом.

Ручной спам труднее.

Человек вручную вводит «правильные» данные в форму и отправляет. Однако вы все равно можете анализировать сообщения и принимать правильные решения.



Правила

На своем сайте я решил проблему массового автоматического спама в комментариях, отзывах и других формах.

Мои правила немного отличаются от правил в статье.

Они более адаптированы к моим локальным задачам и добавлено несколько других правил.

Если у вас есть другие идеи, как анализировать сообщения, мы обязательно добавим их в таблицу.

Правило Ценности Точки
Количество ссылок в сообщении ≥ 2 -1 за каждую ссылку
< 2 +1
Длина сообщения > 20 символов и никаких ссылок +2 балла
< 20 -1 балл
Ключевые слова Виагра, казино и другие слова по словарю -1 балл за каждое слово
Анализ ссылок в сообщении Если ссылка содержит домен в зоне .

de, .

pl или .

cn (могут быть и другие)

-1 балл
На этом правила, которые я позаимствовал, закончились.

Далее будут адаптированы или новые правила анализа.

Проверка URLReferrer по форме и сравнить с тем, что должно быть на самом деле Не обращайте слишком много внимания на различия в этом параметре.

-2 балла, если отличается
Русский текст Аудитория сайта русскоязычная, то в названии и других полях других языков быть не должно.

Проверяю процент русских символов

< 10% -2 балла.

Если все хорошо +1

BB-теги .

Я встречал сообщения, где в теле были метки BB. Это не предусмотрено движком сайта, а значит такие сообщения сразу выбрасываются в корзину.

[url] и [ссылка] -2 балла за каждый тег
Анализ предыдущих сообщений с этого адреса (email, ip и другие) Если вас уже отметили как спам -1 балл


Дальнейшее развитие

Вы можете развивать систему по ходу дела, анализируя спам-сообщения и добавляя новые правила.

Есть несколько идей, которые пока не реализованы:

  • Анализ бессмысленного текста — это когда сообщение содержит не просто слова, а случайные символы.

    Сложность заключается в том, чтобы определить, что это случайные символы, а не обычные слова.

  • Есть статья Выявление «неправильных» слов при борьбе со спамом , который может помочь уловить слова, похожие на слово «нормальный».

Дальше я хотел бы собрать другие возможные правила и посмотреть, как система будет работать.

Теперь он ловит до 500 спам-сообщений каждый день.

Это все автоматические боты и ничего вредного они не делают, но я смотрю на растущий счетчик пойманного спама и понимаю - система работает .

Вы можете посмотреть класс здесь Теги: #антиспам #Спам и антиспам #спам #антиспам-фильтр

Вместе с данным постом часто просматривают: