Не сработала флуд-защита

Здесь Вы можете поделиться информацией об ошибках программы для скорейшего их исправления.
Reality
Сообщения: 1008
Зарегистрирован: 20:49, 07.11.2008

Не сработала флуд-защита

Сообщение Reality »

Не знаю, ошибка или нет, но почему не сработала флуд-защита, если выкладывают несколько одинаковых смайлов? Ведь 5 подряд отображаются, а остальные не должны...
Вложения
Флуд.JPG
(521.86 КБ) 162 скачивания
Maxim Mirgorodsky
Администратор
Сообщения: 6886
Зарегистрирован: 09:56, 27.06.2005

Re: Не сработала флуд-защита

Сообщение Maxim Mirgorodsky »

Флуд-защита имеет сложный механизм. Она не ограничивает показ смайлов определенным числом, потому что в этом случае было бы невозможно публиковать большие тексты со смайлами, например, участки истории сообщений.
Reality
Сообщения: 1008
Зарегистрирован: 20:49, 07.11.2008

Re: Не сработала флуд-защита

Сообщение Reality »

Maxim Mirgorodsky писал(а):Флуд-защита имеет сложный механизм. Она не ограничивает показ смайлов определенным числом, потому что в этом случае было бы невозможно публиковать большие тексты со смайлами, например, участки истории сообщений.
И что, с этим нельзя ничего сделать?
Maxim Mirgorodsky
Администратор
Сообщения: 6886
Зарегистрирован: 09:56, 27.06.2005

Re: Не сработала флуд-защита

Сообщение Maxim Mirgorodsky »

Флуд-защита все равно не пропустит сообщения, очень серьезно нагружающие клиент. В любом случае можно отключить смайлы, если вычислительных ресурсов недостаточно.
JKL
Сообщения: 191
Зарегистрирован: 04:42, 09.06.2007

Re: Не сработала флуд-защита

Сообщение JKL »

Reality писал(а):Не знаю, ошибка или нет, но почему не сработала флуд-защита, если выкладывают несколько одинаковых смайлов? Ведь 5 подряд отображаются, а остальные не должны...
Этот глюк существует ещё с самого начала 3й версии, каждые последующие 5 "пустых" кодов, добавляет один "видимый" смайл - таким образом можно хоть весь экран такими смайлами забить. Существующая защита от флуда, существует лишь для галочки, так как она обходится на раз-два-три, точнее даже на "раз". Её даже системой-то назвать нельзя, а лишь защитой от "дураков".
wizard50
Сообщения: 1691
Зарегистрирован: 17:18, 31.10.2006
Откуда: Комсмомольск-на-Амуре

Re: Не сработала флуд-защита

Сообщение wizard50 »

ее еще проще обойти. кидаешь в сообщении все смайлы или достаточно много. и это сообщение кидаешь много раз, можно каждый раз изменять один смайл. через какие то секунды, минуты максимум особенно если модератор не смотрел в канал некоторое время сделать уже не чего нельзя. все у кого слабые компьютеры повиснут 100%. меня спасает только то, что комп может такое переживать. и то притормаживает.
Maxim Mirgorodsky
Администратор
Сообщения: 6886
Зарегистрирован: 09:56, 27.06.2005

Re: Не сработала флуд-защита

Сообщение Maxim Mirgorodsky »

Есть ограничение на максимальное число символов в общих каналах. Если его не устанавливать в максимальное значение - то страшного ничего произойти не может.

Если сделать ограничение на количество одинаковых смайлов более жестким - смайлов не будет видно при публикации в окно чата, например, участков лога.
wizard50
Сообщения: 1691
Зарегистрирован: 17:18, 31.10.2006
Откуда: Комсмомольск-на-Амуре

Re: Не сработала флуд-защита

Сообщение wizard50 »

Maxim Mirgorodsky писал(а):Есть ограничение на максимальное число символов в общих каналах. Если его не устанавливать в максимальное значение - то страшного ничего произойти не может.

Если сделать ограничение на количество одинаковых смайлов более жестким - смайлов не будет видно при публикации в окно чата, например, участков лога.
не чего не может страшного произойти???? может вы все таки попробуете сами проверить? 1000 знаков в канале. 500 смайлов. да, что там 500, сотню смайлов поставьте и не сколько раз подряд отправьте. вы уж извините но отнекиваться от этой проблемы невозможно. спросите у любого кто держит сервер. смайлы РАЗНЫЕ, просто делаем их очень много. и отправляем много сообщений подряд. каждый раз можно изменять набор смайлов, например удаление или добавлением одного смайла.
Аватара пользователя
DIGGER
Сообщения: 264
Зарегистрирован: 13:46, 15.05.2009

Re: Не сработала флуд-защита

Сообщение DIGGER »

wizard50, не знаю, конечно, что там у Вас за ситуация, но почему разок доходчиво не пояснить флудеру что так делать не хорошо + делать это максимально публично. У нас в сети уже месяца три спокойно и более-менее порядок. (Позавчера правда появился какой-то умник меняющий маки и ники для обхода бана, но видать это новенький кто-то… как увижу его в чате (а не в логах) так сразу порядок вернётся к нам))))
wizard50
Сообщения: 1691
Зарегистрирован: 17:18, 31.10.2006
Откуда: Комсмомольск-на-Амуре

Re: Не сработала флуд-защита

Сообщение wizard50 »

DIGGER писал(а):wizard50, не знаю, конечно, что там у Вас за ситуация, но почему разок доходчиво не пояснить флудеру что так делать не хорошо + делать это максимально публично. У нас в сети уже месяца три спокойно и более-менее порядок. (Позавчера правда появился какой-то умник меняющий маки и ники для обхода бана, но видать это новенький кто-то… как увижу его в чате (а не в логах) так сразу порядок вернётся к нам))))
ну во-первых, меняющий мак это то есть у вас 3 версия? в чате у нас достаточно народу появляется нового и одного такого идиота хватит, что бы испортить многим настроение. вешаются то у клиентов компьютеры полностью, а не просто чат зависает.
Maxim Mirgorodsky
Администратор
Сообщения: 6886
Зарегистрирован: 09:56, 27.06.2005

Re: Не сработала флуд-защита

Сообщение Maxim Mirgorodsky »

wizard50 писал(а):
Maxim Mirgorodsky писал(а):Есть ограничение на максимальное число символов в общих каналах. Если его не устанавливать в максимальное значение - то страшного ничего произойти не может.

Если сделать ограничение на количество одинаковых смайлов более жестким - смайлов не будет видно при публикации в окно чата, например, участков лога.
не чего не может страшного произойти???? может вы все таки попробуете сами проверить? 1000 знаков в канале. 500 смайлов. да, что там 500, сотню смайлов поставьте и не сколько раз подряд отправьте. вы уж извините но отнекиваться от этой проблемы невозможно. спросите у любого кто держит сервер. смайлы РАЗНЫЕ, просто делаем их очень много. и отправляем много сообщений подряд. каждый раз можно изменять набор смайлов, например удаление или добавлением одного смайла.
500 смайлов это действительно абсолютный максимум который может быть отображен.

Мы исследовали, отображение 500 смайлов :pump: (специально подобрали один из самых больших стандартного набора) длится 86мс на процессоре Core 2 Duo E8500 (3.16Ghz). Этот результат легко масштабируется, т. е. на в 2 раза более слабом процессоре отображение займет 172мс, на в 4 раза более слабом 344 мс, на в 8 раз более слабом 688мс (еще важно знать, что для этой операции используется одно ядро). Памяти будет тратиться по 40Мб пока не активируется обрезка сверху (активируется она довольно быстро, через 6-8 таких сообщений). Но после активации обрезки сверху отображение становится в 3 раза более длительным.

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

Результат исследования таков, что действительно проблемы могут быть в случае неблагоприятного сочетания таких характеристик как:

на сервере:
- набор смайлов
- настройки защиты от флуда (а именно максимальное разрешенное число публикаций в общем канале за определенный промежуток времени)

на клиенте:
- устаревший процессор
- оперативной памяти 512Мб или меньше

Однако, сильное снижение максимального числа отображаемых смайлов уже будет негативно отражаться на функциональности (особенно, с учетом ориентированности на будущее). В 4.40 снизим до 350. А при разработке следующей несовместимой версии вернемся к этому вопросу и, возможно, усложним анализ сообщений (работа такого плана все равно предстоит, потому что в несовместимой версии планируется реализация поддержки смайлов в доске объявлений).
JKL
Сообщения: 191
Зарегистрирован: 04:42, 09.06.2007

Re: Не сработала флуд-защита

Сообщение JKL »

500 смайлов в текущем видимом окне чата или во всём канале (до обрезки)? Почему бы не создать систему в которой отслеживается сколько смайлов содержится в последних строках канала? На стороне сервера задаётся n-количество последних строк и n-макс. допустимое количество смайлов в них, а клиент уже со своей стороны соблюдает эти условия - тогда все проблемы с флудом смайлами сразу решится и никаких совместимых версий теоретически для этого не требуется. Другими словами получается - некий мониторинг текущего пользователя, либо всех пользователей, который будет ограничивать и не допускать флуда смайлами во всех его проявлениях. Пятая версия в лучшем случае выйдет через пол года - год, это очень большой срок...
Последний раз редактировалось JKL 12:46, 26.11.2009, всего редактировалось 2 раза.
wizard50
Сообщения: 1691
Зарегистрирован: 17:18, 31.10.2006
Откуда: Комсмомольск-на-Амуре

Re: Не сработала флуд-защита

Сообщение wizard50 »

Для начала большое спасибо, что все таки решаете проблему. Провел у себя несколько тестов. делаю 48 смайлов, отправляю в канал (1 сообщение). 2-ое 64 смайла, 3-е 80 смайлов, 4-е 96 смайлов. на 2 сообщении чат начал подвисать примерно у половины опрошенных (на тот момент в канале 201 человек), на 4 вешался уже у всех. правда у кого то подвисал компьютер у кого то только чат. Ни у кого из опрошенных не было меньше 1 Гб оперативы, у подавляющего большинства 4 Гб. В частности у меня на тестовой машине от куда отправлял сообщения проц Q6600, 4 Гб загрузка прыгала на всех 4 ядрах до 70% кратковременно, далее падала до 20% на одном ядре (остальные до 1-2%) память занимаемая чатом выросла с 50 Мб до 110 Мб. Чат очень ощутимо тормозил. Клиент стоит 4.40 бета 3, клиенты в чате на 80% 4.30а.
Подчеркиваю с 1 гб памяти и довольно новыми процессорами Core Duo у многих компьютеры подвисали.
Maxim Mirgorodsky
Администратор
Сообщения: 6886
Зарегистрирован: 09:56, 27.06.2005

Re: Не сработала флуд-защита

Сообщение Maxim Mirgorodsky »

Здесь еще важным фактором является отображение анимации. На ресурсоемкость влияют сложность анимации, размеры смайла и окна чата (т.е. сколько смайлов влезает в видимую область).
JKL писал(а):500 смайлов в текущем видимом окне чата или во всём канале (до обрезки)?
Публикация сообщения с таким числом смайлов.
JKL писал(а):На стороне сервера задаётся n-количество последних строк и n-макс.
На стороне сервера анализ делать нельзя, т. к. ресурсоемкость резко возрастает. Даже такая казалось бы прострая функция анализа сообщений на сервере как встроенный антимат требует для своей работы приличное количество ресурсов (в случае если сервер популярен).
JKL
Сообщения: 191
Зарегистрирован: 04:42, 09.06.2007

Re: Не сработала флуд-защита

Сообщение JKL »

Maxim Mirgorodsky писал(а):На стороне сервера анализ делать нельзя, т. к. ресурсоемкость резко возрастает...
Я как раз это и написал, что на сервере задаются только эти два параметра, все остальное делает сам клиент чата. Он сам отслеживает, и высчитывает количество опубликованных смайлов в последних строках канала(ов), а так же не допускает отправку нового сообщения со смайлами, если этот лимит превышен, либо заменяет эти смайлы на что-то текстовое, либо оставляет их коды без изображений.
Ответить