Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Запретить отправку одного и того же текста / 11 сообщений из 11, страница 1 из 1
03.12.2012, 01:00
    #38062029
morgot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить отправку одного и того же текста
Интересует такой вопрос - как можно запретить рассылку одного и того же текста? Т.е. суть такова - есть форум, есть спамеры. Надо сделать мод, который отслеживал бы, если человек (или несколько человек) в течение, скажем, часа, запостили N раз абсолютно идентичный текст - то уведомить админа.

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

p.s. я знаю, что можно рендомизировать слова, заменять английские буквы на русские и наоборот, и так далее, поэтому попрошу не разводить флуд в теме что "все равно обойдут!".
...
Рейтинг: 0 / 0
03.12.2012, 01:08
    #38062033
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить отправку одного и того же текста
morgotабсолютно идентичный текстПо длине сообщения сгруппировать, а там уже смотреть топ. Короткие можно не брать во внимание, наверно. Не?
...
Рейтинг: 0 / 0
03.12.2012, 01:10
    #38062034
morgot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить отправку одного и того же текста
vkleтам уже смотреть топ.
По длине - отличная идея, я как-то и не подумал.
Смотреть топ - в смысле?
...
Рейтинг: 0 / 0
03.12.2012, 01:17
    #38062038
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить отправку одного и того же текста
morgotvkleтам уже смотреть топ.
По длине - отличная идея, я как-то и не подумал.СУБД какая? Если СУБД не позволяет создавать FBI, то ничего "отличного".
Тогда, чтобы было что индексировать, придется создавать отдельное поле с длиной поста. А уж если создавать это отдельное поле, то лучше уж сразу хэш туда писать, например, MD5 от содержимого поста. Частота коллизий по MD5 будет кардинально ниже, чем по длине.
...
Рейтинг: 0 / 0
03.12.2012, 01:22
    #38062044
morgot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить отправку одного и того же текста
авторСУБД какая? Если СУБД не позволяет создавать FBI
MySQL. Что такое FBI, не в курсе.
...
Рейтинг: 0 / 0
03.12.2012, 01:26
    #38062048
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить отправку одного и того же текста
morgotавторСУБД какая? Если СУБД не позволяет создавать FBI
MySQL. Что такое FBI, не в курсе.FBI - function based index, в MySQL их нет.
...
Рейтинг: 0 / 0
03.12.2012, 02:05
    #38062068
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить отправку одного и того же текста
morgotСмотреть топ - в смысле?Ну, группируете же сообщения по длине (за какой-то промежуток времени), подсчитываете количество сообщений в каждой группе. Сортируете количества по убыванию. Среди самых больших чисел количества как раз и будут потенциально одинаковые.
...
Рейтинг: 0 / 0
04.12.2012, 20:25
    #38065097
phpz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить отправку одного и того же текста
miksoftmorgotпропущено...

По длине - отличная идея, я как-то и не подумал.СУБД какая? Если СУБД не позволяет создавать FBI, то ничего "отличного".
Тогда, чтобы было что индексировать, придется создавать отдельное поле с длиной поста. А уж если создавать это отдельное поле, то лучше уж сразу хэш туда писать, например, MD5 от содержимого поста. Частота коллизий по MD5 будет кардинально ниже, чем по длине.

Что значит абсолютно идентичный текст ? По смыслу одно и тоже сообщении спамер может написать многими способами. А про md5 можете вообще забыть (ну хотя бы из-за лишних пробелов и т.п). Лучше завести некоторый журнал, в который записывать результат анализа сообщений при их добавлении в базу. Например каждое сообщение состоит из энного кол-ва слов, ссылок (для точности можно по доменам разбить), тегов bb-кода и др, т.е создать своего рода "отпечаток пальцев". При сравнении допускается некоторая погрешность. Также не стоит забывать, что обычно злоумышленник может свои сообщении редактировать и он вовсе не обязан постить один и тот же текст.
...
Рейтинг: 0 / 0
04.12.2012, 20:45
    #38065121
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить отправку одного и того же текста
phpz,

ну ведь просили же!
morgotp.s. я знаю, что можно рендомизировать слова, заменять английские буквы на русские и наоборот, и так далее, поэтому попрошу не разводить флуд в теме что "все равно обойдут!".
...
Рейтинг: 0 / 0
04.12.2012, 22:05
    #38065185
phpz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить отправку одного и того же текста
[offtopic]
miksoftphpz,

ну ведь просили же!
morgotp.s. я знаю, что можно рендомизировать слова, заменять английские буквы на русские и наоборот, и так далее, поэтому попрошу не разводить флуд в теме что "все равно обойдут!".

Пардон, где флуд?! Написано же - что можно сделать.

[/offtopic]
...
Рейтинг: 0 / 0
05.12.2012, 11:16
    #38065751
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить отправку одного и того же текста
md5 посчитать. id form ы запоминать, чтобы одну и ту же не отправляли. больше ничего не нужно.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Запретить отправку одного и того же текста / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]