купить рекламу
 
Мы+Яндекс=мониторинг любого сервера
Ya

Единственный в своём роде виджет

Добавить на Yandex.ru

Лента комментариев
Обсуждаем обзор Интерес игроков к серверам. Статистика за Декабрь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Ноябрь 2020 года < Admin в общих темах
TheAbyss 1.6 39 Jump Bhop < csTheAbyss в обсуждениях серверов
Обсуждаем обзор Интерес игроков к серверам. Статистика за Сентябрь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Август 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Июль 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Июнь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Май 2020 года < Admin в общих темах
Flash Point < spec в обсуждениях серверов
Обсуждаем обзор Интерес игроков к серверам. Статистика за Март 2020 года < Admin в общих темах
GunGame ИРКУТСК ВЛАСТЬ НАРОДУ < virys336855 в обсуждениях серверов
Обсуждаем обзор Интерес игроков к серверам. Статистика за Январь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Декабрь 2019 года < Admin в общих темах
Morozilka 7plus css34 < FantOzer в обсуждениях серверов
Набор в клан css v.34 ProRedDevils < saha123 в кланах

Плагин antisay + badwords +...

Автор Сообщение
Grizli 
Карма: 0
Добавлено: 23:08 23 января 2010 | Исправлялось: 2 раз (23-01-10 23:39, Hafner)

Автор: Hafner Цитата:
Какой результат Вам нужен?
- Запрет знака "/" в чате в любом слове?
- Запрет всех слов, где есть идущие подряд одинаковые буквы? Какое количество букв будет запрещено?

Мне достаточно примера, как запретить слово скажем "b/I9" (бля) и "/Iox" (лох).
А так же, если возможно "looox" чтоб его блокировало независимо от количества "o"
Как только я поставил плагин, началась война Улыбка Я постоянно обновляю словарь, юзеры ищут пути обхода. И пока в словах содержащих символы "/" и (обратная ей) из которых составляют букву "Л" меня побеждают Улыбка

Вот например мой словарь на сегодня )


d(o|0)(l|ji)(b|6)(o|a|0)e(b|6)
d (o|0) (l|ji) (b|6) (o|a|0)e(b|6)
go(l|ji)(6|b)a(h|n)a
d(i|u)(b|6)(i|u)(l|ji)
d (i|u) (b|6) (i|u) (l|ji)
download
(n|tt|p)(u|i)d(o|e|a|0)(r|p)
(n|tt|p) (u|i) d (o|e|a|0) (r|p)
(ji|l)(o|0)x
(ji|l) (o|0) x
(ji|l)(o|0)(sh|w|iii)a(r|p)
(ji|l) (o|0) (sh|w|iii) a (r|p) a
e(b|6)(a|o|0)(l|ji|h|n|t)
e(6|b)(l|ji)(a|o|0)
e (6|b) (l|ji) (a|o|0)
e(b|6)u(4|h|ch)
(z|3)ad(p|r)(o|0)t
m(u|y)da(k|g)
m (u|y) d a (k|g)
m(u|y)d(i|u)(l|ji)
m (u|y) d (i|u) (l|ji)
m(y|u)dae(6|b)
(4|ch)m(o|0)
(4|ch) m (o|0)
m(r|p)a(z|3)
m (r|p) a (z|3)
(g|r)a(n|h)d(o|0)(n|h)
(g|r) a (n|h) d (o|0)(n|h)
(o|0)(l|ji)e(n|h)b
(o|0) (l|ji) e (n|h) b
xyu
x y u
hui
(n|h)axyu
(c|s)(o|0)(c|s)(h|n)e(sh|iii)
(c|s)(o|0)(c|s)e(ch|iii)
(c|s)(o|0)(c|s)i
(c|s) (o|0) (c|s) i

Возможно конечно что-то и можно оптимизировать, но я на больше неспособен Улыбка

Просто запретить символ "/" нельзя, поскольку тогда не будут работать нужные чат команды.
Hafner 
Карма: 0
Добавлено: 23:38 23 января 2010 | Исправлялось: 1 раз (23-01-10 23:42, Hafner)

Я выше ссылку на ман по регуляркам кидал, там всё доходчиво написано Улыбка
Для запрета "loooox":
lo{1,}x
Для запрета "b/I9":
b/i9

И прошу не флудить по 2 сообщения в течении нескольких минут. Есть кнопка "Правка".
Grizli 
Карма: 0
Добавлено: 01:25 24 января 2010

Автор: Hafner Цитата:
Я выше ссылку на ман по регуляркам кидал, там всё доходчиво написано Улыбка

Яж не спорю, действительно доходчиво, но до меня не доходит Огорчение
Автор: Hafner Цитата:
Для запрета "loooox":
lo{1,}x
Для запрета "b/I9":
b/i9

С lo{1,}x, всё отлично, спасибо Улыбка
b/i9 не работает Огорчение
Hafner 
Карма: 0
Добавлено: 01:35 24 января 2010

Автор: Grizli Цитата:
b/i9 не работает Огорчение


Всё должно работать. Вы вбили в словарь точно так как указано? Какое слово вбиваете и плагин не реагирует?
Grizli 
Карма: 0
Добавлено: 02:09 24 января 2010 | Исправлялось: 5 раз (24-01-10 03:27, Grizli)

А сори, забыл при последней проверке про админку Улыбка

Теперь бы с еще одним вариантом буквы L в CS разобраться.
Здесь я его написать не могу, форум обрезает поэтому вот скрин.

[URL=ссылка]ссылка">[/URL]
Hafner 
Карма: 0
Добавлено: 13:52 24 января 2010

Чтобы задать проверку спецсимвола, который используется в регулярках, а в нашем случае это обратный слэш, необходимо перед ним поставить ещё один обратный слэш.
ссылка
Admin
Карма: 9
Добавлено: 21:31 25 января 2010

нашел неприятный косяк в плагине.
В виду того, что он загружает словари по 242 байта, то если словарь длинный получаются неправильные переносы строк типа:
badb
oy

Кто найдет, как починить, напишите
Admin
Карма: 9
Добавлено: 17:43 30 января 2010

нет идей?
Hafner 
Карма: 0
Добавлено: 18:18 30 января 2010

Это при обновлении словарей такое происходит?
Admin
Карма: 9
Добавлено: 18:33 30 января 2010

да. при обновлении идет чтение из сокета по 244 байта. если на 244 байт приходится середина слова, то его разбивает на 2 строки
Hafner 
Карма: 0
Добавлено: 16:18 2 февраля 2010

Вобщем добрался я до плагина и посмотрел, что там к чему. Решений есть несколько - начиная от увеличения размера пакета и, чтобы словарь не превышал в дальнейшем это значение и заканчивая проверкой каждой полученной строки.
Сейчас, к сожалению, нет доступа к машине, чтобы проверить некоторые варианты и пока оптимальный механизм проверки строки не лезет в голову. Как только так сразу выложу рабочее решение.
Admin
Карма: 9
Добавлено: 17:36 2 февраля 2010

размер пакета не спроста 242 байта - это соответствует размеру заголовка. я был без понятия, как отрезать заголовки со служебной информацией от собственно словаря, поэтому при апдейте просто пропускаю первый заголовок
Hafner 
Карма: 0
Добавлено: 23:19 3 февраля 2010 | Исправлялось: 4 раз (04-02-10 03:14, Hafner)

Сижу и тестирую фикс для плагина и недоумеваю, где я допустил такой косяк, что после апдейта оргомный пробел в файле bans.ini, хорошо, что решил сверить с оригиналом.
Есть возможность для теста файл какого-нибудь словаря залить в том виде, в котором он косячил? Влом к себе на хост заливать и пути перебивать...

И ещё, это у меня косяк или плагин при обновлении первую строку не заполняет?

// update
Всё таки залил к себе, всё работает корректно + убрал эти отступы, которые создаются в начале файла, но разная длина заголовка там принимается, поэтому треба тест непосредственно на этом адресе.
Admin
Карма: 9
Добавлено: 10:03 4 февраля 2010

ок. вечером уберу пробел
почему первая строка пустая разобрался? это тоже из-за склеивания пакетов
Hafner 
Карма: 0
Добавлено: 10:30 4 февраля 2010

Да это из-за заголовка, поставить длину меньше на 1 и не будет пробелов в файлах bans.ini и slapandgags.ini, но обрежется первый символ в файле kicks.ini
Это происходит из-за разной длины, отображаемой в заголовке. Для примера ниже 2 строчки, одна из которых длинее другой на 1 символ, вот этот один символ и добавляется, однако, файл kicks.ini имеет длину двухзначную и следовательно символ не добавляется и там всё четко Улыбка
Content-Length: 100
Content-Length: 99
Admin
Карма: 9
Добавлено: 11:54 4 февраля 2010

есть идеи, как обрезать заголовок более корректно чем по захардкоденной длине?
ну или есть какой-то правильный способ получения содержимого файла по http?
Nup 
Карма: 0
Добавлено: 14:06 4 февраля 2010 | Исправлялось: 2 раз (04-02-10 15:07, Hafner)

а если не сокетами забирать файл а file_get_contents?

upd: жутко туплю, сорри ) Сходка

а почему загрузка идет по 242 байта?

в мануале(ссылка) пример реализован вот так:
socket_recv(sock,readBuffer,2048)
Hafner 
Карма: 0
Добавлено: 15:06 4 февраля 2010

Автор: Nup Цитата:
а почему загрузка идет по 242 байта?

в мануале(ссылка) пример реализован вот так:
socket_recv(sock,readBuffer,2048)


Покажи как заголовок отрезать будешь в таком случае.
Nup 
Карма: 0
Добавлено: 15:46 4 февраля 2010

Я в amxx синтаксисе не очень шарю, вот нашел пример:

public read_web()
{
const SIZE = 63
new line_variable[SIZE + 1], line_value[SIZE + 1]

if (socket_change(g_sckweb, 100))
{
new buf[512], lines[30][100], count = 0
socket_recv(g_sckweb, buf, 511)
count = ExplodeString(lines, 50, 119, buf, 13)
for(new i=0;i<count;i++)
{
parse(lines[i], line_variable, SIZE, line_value, SIZE)
if (equal(line_variable, "some_value"))
{
server_print("Value is %s", line_value)
}
}

if (g_sckweb != 0)
set_task(0.5, "read_web")
else
disconnect_web()
}



Собственно суть - прочитать информацию полностью, а потом отрезать ненужное.. или вытащить нужное из ненужного ;)
Как вариант - можно словари на серваке хранить в одном виде, с разделителями (например через ";"), а потом делать explode как раз по этому разделителю. Ну вот както так Улыбка Смущение
Hafner 
Карма: 0
Добавлено: 21:25 4 февраля 2010

Автор: Admin Цитата:
ок. вечером уберу пробел


жду

2Nup,
когда код выкладываете, то пишите плиз полный листинг для наглядности. Где функция ExplodeString?
Ладно, не суть, суть на самом деле ясна и заключается в подсчете строк и построчно читать информацию с проверкой каждой строки на наш разделитель.
Вам не кажется, что слишком много условий?) Проще вначале откинуть заголовок, а всё остальное содержимое записать в файл.
Наверх | Страница 6 из 7: 1 2 3 4 5 6 7  
Моды
  Public 22
  DeathMatch 8
  Classic 7
  RolePlay 4
  GunGame 3
  ZombieMod 3
  OpenWarfare 1
  Dust 1

все моды

Популярные Карты
cp_orange_x3 1
mp_military_1 1
q3dm17 1
de_dust2_2x2 1
q3dm3 1
de_dust2_unlimited 1
ospctf1 1
13dream 1
Серверы по регионам
  Москва 969
  Санкт-Петербург 133
  Екатеринбург 40
  Новосибирск 23
  Киев 22
  Севастополь 15
  Пермь 14
  Казань 13
  Томск 12
  Нижний Новгород 12
  Ульяновск 11
  Украина 10
  Самара 9
  Жуковский 9
  Красноярск 9
  Коломна 9
  Иркутск 8
  Ижевск 8
  Курган 7
  Тольятти 6
  Днепропетровск 6
  Челябинск 6
  Уфа 6
  Пенза 6
  Ростов-на-Дону 6
  Владивосток 5
  Саратов 5
  Великий Новгород 5
  Сочи 4
  Королев 4
  Курск 4
  Одесса 4
  Омск 4
  Россия 4
  Вильнюс 4
  Донецк 4
  Воронеж 4
  Брянск 4
  Зеленоград 3
  Волгодонск 3
  Таллин 3
  Выборг 3
  Орел 3
  Иваново 3
  Харьков 3
  Тамбов 3
  Оренбург 2
  Братск 2
  Житомир 2
  Минск 2
  Нижний Тагил 2
  Ярославль 2
  Львов 2
  Комсомольск-на-Амуре 2
  Винница 2
  Киров 2
  Тюмень 2
  Всеволжск 2
  Гатчина 2
  Калининград 2
  Кривой Рог 2
  Рига 2
  Ногинск 2
  Таганрог 2
  Мончегорск 2
  Барнаул 2
  Калуга 2
  Астрахань 1
  Белогород 1
  Череповец 1
  Чебоксары 1
  Владимир 1
  Рязань 1
  Липецк 1
  Тверь 1
  Волгоград 1
  Краснокаменск 1
  Новокузнецк 1
  Владикавказ 1
  Махачкала 1
  Ялта 1
  Чехов 1
  Тбилиси 1
  Кемерово 1
  Запорожье 1

все регионы

Рейтинг сайтов
Админский пьедестал
  taulalan 1|51
  Djei-spb 1|49
  Dinamic 1|48
тоже я
тоже я