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

Алгоритм шинглов - боремся со спамом на сайте

15 октября прошлого года я принял участие в Яндекс.Субботнике, проходившем в Алматы. При общении в кулуарах один из программистов Яндекса обмолвился, что для борьбы со спамом в почте используется Алгоритм Шинглов. Тогда я не придал этому особого значения, но про себя отметил, что это прекрасная идея.

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

Конечно же, у меня были инструменты для блокирования комментаторов по IP и для удаления комментариев. Но этого было недостаточно, поскольку спам шёл с разных IP. Чёткие шаблоны создавать тоже не получалось, потому что текст спама немного отличался каждый раз.

И тут я вспомнил про алгоритм шинглов. В базе я создал таблицу spam_shingles, состоящую из двух полей - text_id (unsigned integer) и shingle_hash (integer). В поле text_id я записываю id комментария, а в shingle_hash - crc32 от всех шинглов (длиной в 2 слова) этого комментария. После этого сам комментарий удаляю.

При добавлении комментария я сверяюсь с таблицей spam_shingles запросом SELECT COUNT(*) AS intersects FROM spam_shingles GROUP BY text_id и если intersects>0, значит комментарий является спамом.

Конечно, такая схема не исключает ложных срабатываний, но на практике за полгода использования их ещё не было (каждый комментарий, признанный спамом попадает в лог). Также эту схему я по долгу службы внедрил на сайте Zakon.kz и по велению сердца на своём каталоге сайтов.

Ps: Если будет интересно, могу опубликовать свою реализацию разбивки текста на шинглы на PHP.

2 октября 2010, 10:10
1359

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

Комментарии

Rex
0
0
интересно, нужно взять на заметку данный алгоритм. Полезная штука

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

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

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

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

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Я аллергик с детства. Имею аллергию на пыльцу березы, липы, полыни (выяснил это благодаря кожным пробам), а также пищевую аллергию на горчицу. Свои проблемы знаю, однако это меня не спасло.
Romeo_17
15 авг. 2017 / 17:21
  • 38024
  • 62
Алматы предложили сделать центром секс-туризма

Алматы предложили сделать центром секс-туризма

Известный политолог России Андрей Карпов предложил сделать Алматы центром секс-туризма. Но для этого сперва нужно легализовать проституцию в стране.
tala03
13 авг. 2017 / 14:48
Американцы хотят напасть на КНДР, но не знают, где находится эта страна

Американцы хотят напасть на КНДР, но не знают, где находится эта страна

В США 75% жителей считают, что КНДР является "критической угрозой" для их страны. Авторы популярного американского шоу Джимми Кимела решили проверить жителей США, знают ли те, где находится КНДР.
tala03
10 авг. 2017 / 16:48
  • 2651
  • 64
Ограбление года: 3 млн долларов и 50 тысяч евро украли у казахстанского экс-министра

Ограбление года: 3 млн долларов и 50 тысяч евро украли у казахстанского экс-министра

КТК: "У жителя Алматы украли… 3 миллиона долларов! В деле, которое расследует сейчас местная полиция, удивляет всё – и внушительная сумма, и фамилия пострадавшего..."
SamJamKZ
10 авг. 2017 / 11:43
  • 2393
  • 42
Учителям, владеющим английским языком, повысят зарплату на 200%

Учителям, владеющим английским языком, повысят зарплату на 200%

В Казахстане началось поэтапное внедрение трехъязычного образования. По данным МОН РК, с 2017 учебного года начнется внедрение трехъязычия в 5-х классах.
tala03
10 авг. 2017 / 15:20
  • 1964
  • 31
Приложение казахстанских школьниц признали лучшим на конкурсе в Сан-Франциско

Приложение казахстанских школьниц признали лучшим на конкурсе в Сан-Франциско

Команда алматинских школьниц выиграла главный приз международного конкурса Technovation Challenge 2017 по разработке мобильных приложений.
yviNews
11 авг. 2017 / 16:38
  • 2242
  • 5
Недоразумение с грантами в ВУЗы: «медалисты» до сих пор имеют преимущество

Недоразумение с грантами в ВУЗы: «медалисты» до сих пор имеют преимущество

Многие способные выпускники без Алтын Белги готовились к тестированию, чтобы в честной борьбе попытать счастья на гранты без ущемления со стороны якобы "золотых" выпускников.
DanaJarlygapova
14 авг. 2017 / 14:35
Сколько дней казахстанцы отдохнут на День Конституции и Курбан айт

Сколько дней казахстанцы отдохнут на День Конституции и Курбан айт

Многие уже сейчас планируют отпуска и праздничные выходные. Сколько дней отдыха будет в этом году в честь Дня Конституции и мусульманского праздника Курбан айт?
yviNews
11 авг. 2017 / 15:08
  • 1176
  • 0
На EXPO через Балхаш и Боровое своим ходом

На EXPO через Балхаш и Боровое своим ходом

Мы объехали по кругу озеро Иссык-Куль, о чем повествует предыдущий пост, и вернувшись из поездки подумали, а почему бы нам не рвануть на наше озеро, не менее прекрасное?
yelenasergiyenko
13 авг. 2017 / 13:13
  • 1176
  • 6