Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Степень "похожести" двух строк 21.10.05 14:03 Число просмотров: 2922
Автор: Heller <Heller> Статус: Elderman
|
Задача - защититься от флуда в виде дублирующихся сообщений либо незначительно отличающихся (флудер может приписывать к каждому следующему сообщению случайный символ в конце, удалять символ, заменять символ в середине и еще бесчисленное множество вариантов). В силу обстоятельств, защититься, запрещая много постов с одного IP я не могу.
Пока у меня есть только две идеи на этот счет. Первое - сравнивать длины строк. Вообще нормальные сообщения обычно значительно отличаются по длине. Если же поступает несколько сообщения с одной длиной или с длиной, отличающейся на единицу - есть подозрение на флуд. Способ хоть и простой, но сомнительный.
Второй вариант - вычислять контрольную сумму каждого сообщения (просто складывая ASCII-коды символов). Если контрольные суммы идущих подряд сообщений отличаются незначительно, опять же - флуд. Однако такой вариант тоже неоднозначен.
Можно проводить глубокий анализ сообщений, отыскивая похожие фрагменты, но такой вариант кажется трудоемким, что не позволительно, да и не совсем ясен механизм (например, как поступать при таком анализе, если в пост ставлена цитата?).
Может быть будут идеи как ещё это можно реализовать, особо при этом не загружая сервер?
Заранее благодарю.
|
- Степень "похожести" двух строк - Heller 21.10.05 14:03 [2922]
|
|
|