• 14383
  • 181
  • 10
Нравится блог?
Подписывайтесь!

Очередной способ борьбы со спамом

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

Одной из таких ситуаций может стать пример, который я хочу сейчас рассмотреть. Пользователь пишет сообщение "вася васечкин - лох". Его можно добавить в фильтры, но пользователь может изменить сообщение и написать его так: "в.а.с.я.в.а.с.е.ч.к.и.н.л.о.х" - с точки зрения смысловой нагрузки - это одно и то же сообщение. Пытаться его побороть шинглами бесполезно - определить границы слов программно (без использования словарей) - невозможно. Мы можем оставить только буквы в обоих сообщениях - сработает. А если пользователь напишет "в_а_с_я_в_а_с_е_ч_к_и_н_л_о_х_qwerty"?

Решение достаточно элементарно и лежит на поверхности :)

1. Переводим строку в нижний (или верхний - без разницы) регистр
2. Делаем два варианта строки - оставляем только русские и только латинские буквы
3. Выбираем самую длинную из полученных строк (очевидно, количество мусора в строке должно быть меньше, чем смысловой нагрузки)
4. Берём хэши (md5 и sha1 - чтобы снизить вероятность коллизии) и смотрим в базе комментариев
5. Если нашли - запрещаем отправку комментария, если нет - разрешаем.

Небольшой hint - для хранения хэшей в MySQL лучше использовать поле типа BINARY размером в половину строки с хэшем и использовать функцию UNHEX($string) при вставке.

Этот метод имеет несколько недостатков:

1. При небольшом изменении строки хэши будут другими и комментарий пройдёт. Здесь можно каким-то образом объединить этот метод с алгоритмом шинглов.

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

29 октября 2010, 11:10
525

Загрузка...
Loading...

Комментарии

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Как казахстанцы могут получить кусок международного рынка аутсорса?

Как казахстанцы могут получить кусок международного рынка аутсорса?

Сокурсник Илона Маска инвестировал в образовательные проекты, и теперь хочет создать в Казахстане рабочие места на глобальном рынке аутсорса.
Zhumanova
18 мая 2017 / 13:38
  • 52069
  • 23
Поддержим пенсией жиреющие банки! На что казахстанцам разрешат досрочно тратить свои накопления в ЕНПФ

Поддержим пенсией жиреющие банки! На что казахстанцам разрешат досрочно тратить свои накопления в ЕНПФ

Со стороны ЕНПФ в очередной раз прозвучало крайне неоднозначное заявление, от которого, на наш взгляд, лучше было бы воздержаться.
openqazaqstan
вчера / 11:08
  • 6676
  • 23
А-ля Астана: новый город начали строить на левом берегу Сырдарьи

А-ля Астана: новый город начали строить на левом берегу Сырдарьи

Свершилось! Сегодня в Кызылорде приступили к застройке левобережной части Сырдарьи. Через 10 лет на месте этого пустыря будет шумный и современный новый город, наш престижный деловой Левый берег!
socium_kzo
17 мая 2017 / 17:39
  • 5128
  • 8
Пристань для обиженных людей. Как Жарылкап Калыбай Родину поменял

Пристань для обиженных людей. Как Жарылкап Калыбай Родину поменял

Этот несомненно талантливый, яркий, достаточно харизматичный журналист приобрёл себе много поклонников в среде оппозиционно-либеральной интеллигенции. Теперь они вновь, стоя, аплодируют своему кумиру.
openqazaqstan
17 мая 2017 / 16:01
  • 4540
  • 57
Кого нам ждать: обнародована культурно-развлекательная программа EXPO-2017

Кого нам ждать: обнародована культурно-развлекательная программа EXPO-2017

Рианны не будет (как и ожидалось, в общем-то). Зато будут Мумий Тролль с Би-2, Эрос Рамазотти, 30 Seconds to Mars, и даже почему-то Limp Bizkit. А также фестивали J Azzia и "The Spirit of Tengri".
Clair-de-la-Lune
18 мая 2017 / 1:19
  • 3902
  • 11
Алматинские проститутки превращаются в шпионок

Алматинские проститутки превращаются в шпионок

Попасть в притоны на алматинском проспекте Сейфуллина, которых, как бы ни старались полицейские, меньше не становится, теперь можно, только зная явки и пароли.
Mirogloff
19 мая 2017 / 13:25
  • 3817
  • 31
Что бы ни сделал пешеход – все равно водитель сядет

Что бы ни сделал пешеход – все равно водитель сядет

Вопрос о равной ответственности водителя и пешехода при наезде на последних, только-только начинают обдумывать в высоких кабинетах. Но, пока государственные головы думают, водители продолжают...
Mirogloff
22 мая 2017 / 23:29
  • 3649
  • 32
Нью-Йорк – другая планета. Дороги тут переходят, как в моем родном Чимкенте

Нью-Йорк – другая планета. Дороги тут переходят, как в моем родном Чимкенте

Тут нет безвкусицы, нет осуждающих взглядов на меховые тапки под вечерним платьем. Тут все одеваются как дети. Нацепили и пошли. Тоже самое и о волосах.
miyatov
17 мая 2017 / 11:09
  • 3230
  • 8
Как я погрузилась в общажный мрак – это место сделало из меня монстра

Как я погрузилась в общажный мрак – это место сделало из меня монстра

Попрощавшись с уже полюбившейся мне маленькой раздолбанной квартиркой, где соседки слезно умоляли меня остаться, я погрузилась в общажный мрак. Но тогда я этого еще не знала.
AutumnRain
17 мая 2017 / 10:07
  • 3435
  • 63