Название: anti_adversting_multifunctional Версия скрипта: 1.7 Версия API: API1, API2 Авторы: Damaks и nd Описание:
- Наиболее эффективный и понятный скрипт антирекламы для PtokaX.
- Сканирует чат и личку.
- Запрещённые слова ищутся по универсальным шаблонам, что во много раз уменьшает количество примеров рекламных фраз.
- Регистр не важен, www и wWw фильтруются одинаково (самый эффективный и компактный на сегодняшний день алгоритм преобразования кодировки cp1251 в нижний регистр).
- Не существует проблемы с обходом защиты благодаря оптимальному поисковому алгоритму (распространённая проблема в большинстве скриптов, случается при нахождении в одном сообщении заперещённой фразы и исключения).
- Ложные срабатывания сведены к минимуму и практически исключены.
- Раздельные функции сканирования чата и лички (выбрать нужный режим можно изменением одной цифры в скрипте).
- Приличный выбор самых необходимых режимов наказания: возможность бана на заданное время (задаётся в скрипте), разъединения (сообщение юзеру о рекламе и disconnect), просто замены запрещённой фразы (сообщение с рекламой заменяется информационным, его видит только отправитель), тихого фильтрования (отправитель думает, что всё нормально и сообщение доставлено, в личке и общем чате же оно не появляется) или просто информирование операторов о поступаемых ссылках.
- Возможность информирования операторов о попытке рекламы с показом запрещённой фразы (если хотите знать, кто что отсылает).
- При рекламе в личку показывает получателя сообщения, что даёт больше информации.
- При отправлении сообщения профилю-исключению (tProfiles) оно не фильтруется.
Примеры информирования пользователя и оператора писал(а):[15:53:56] <Антиреклама> *** Внимание! Реклама посторонних ресурсов на хабе категорически запрещена!
[15:53:56] <Антиреклама> *** Внимание! Реклама посторонних ресурсов на хабе категорически запрещена! Вы были забанены на 10 мин.
[15:53:56] <Антиреклама> *** Внимание! Реклама посторонних ресурсов на хабе категорически запрещена! Вы были отключены.
В скрипте есть подробные пояснения, которые помогут разобраться даже новичку в lua.
Версию скрипта для API1 необходимо использовать в паре с old_api.lu (уже находится в архиве, также копируется в папку "scripts"). История версий
1.1
+ Добавил возможность "без фильтрования".
1.2
+ При рекламе в личку операторам сообщется также ник адресата, которому предназначалось сообщение.
+ Добавлена возможность задать описание боту. По умолчанию " - bot - ".
+ Пятым режимом добавлено простое информирование оператора о рекламных ссылках без фильтрования.
+ Изменены шаблоны рекламы, убраны излишние, исправлены некоторые минусы и ложные срабатывания.
+ Изменены некоторые стандартные сообщения для большего удобства и под один шаблон в связи с изменением №1.
+ Слегка отредактирован код, к примеру, уменьшена нагрузка на хаб из-за ненужного заполения таблицы при поступающем новом сообщении (Core.GetUserAllData(user)).
1.3
+ Немного оптимизировал функцию is_forbidden(). Теперь сообщения без спама (наиболее частый случай) обрабатываются в 2 раза быстрее.
1.4
+ При отправлении сообщения профилю-исключению (tProfiles) оно не фильтруется. Теперь возможна отправка сообщения с запрещённой фразой администрации хаба. Соответственно исправлено двойное оповещение, если в автоответчике содержалась реклама.
1.5
+ Добавлены версии для API1 (PtokaX 0.3.5-0.3.6).
+ Заменена функция преобразования в нижний регистр на более производительную (прошлая могла влиять на другие скрипты, т.к. изменяла локали во всей программе).
+ Изменён принцип создания шаблонов, что значительно уменьшило их количество (теоретически есть вероятность, что защита ослабнет, на практике такие совпадения практически исключены).
+ По умолчанию добавлены шаблоны наиболее "спамных" адресов без префиксов (*no-ip*, *-hub.org*, *dyndns.tv, *.ucoz.*). Также в исключения добавлены магнет-ссылки.
+ При рекламе в личку в оповещении оператору добавил ip получателя.
- Удалено описание бота (посчитал не таким необходимым).
1.6
+ Добавлена минимальная длина сообщения для проверки антирекламой. Проверка только для чата. Особенно пригодится для хабов, где есть викторина или активный чат. Много коротких фраз не проходят все функции соответствия запретам и исключениям. Разница незаметна, скрипт и так быстрый, но для порядка решил добавить.
+ Добавлены шаблоны рекламы для фильтрования ссылок без префиксов. Не пропускаются .ru, .ro, .ua, .net и .com. Эти шаблоны не фильтруют модификации, только чёткие занчения "точка домен". Т.к. кликабельные ссылки уже исключены фильтром префиксов, то оставалось только затруднить копирование из чата ссылки без редактирования.
+ Изменены шаблоны исключений. В прошлой версии скрипт мог не пропускать некоторые фразы с исключениями. Исправлены окончания.
Название: anti_adversting_multifunctional_plus Версия скрипта: 1.6 Версия API: API1, API2 Авторы: Damaks и nd Описание:
Основывается на скрипте anti_adversting_multifunctional. Немного расширяет функциональность, не теряя при этом в производительности.
Содержит все функции первого скрипта, плюс:
– Раздельные шаблоны для чата и лички (для разных критериев фильтрования).
Версию скрипта для API1 необходимо использовать в паре с old_api.lu (уже находится в архиве, также копируется в папку "scripts").
Это несерьезный подход. Правильный скрипт антирекламы должен одни ссылки пропускать в чат, другие пропускать в приват, некоторые никуда не пускать, но не банить, за некоторые банить, если они в чате, за некоторые - если в привате. Например, ссылка на Youtube в личке проходит, а в чате нет. Или наоборот. Или еще как.
И база паттернов, прямо скажем, убогая. Особенно мне в таких скриптах нравится база исключений. Опубликуй скрипт со своими ресурсами в исключениях - и дорога собственному спаму открыта.
Вечный
А всем не угодишь. Не нравится - есть другие. Не нравятся исключения - измени, и заодно YouTube с RuTube добавь. Хочется более раздельного фильтрования - нагрузи и раздуй скрипт.
Что касаемо своих исключений, согласись, если у тебя есть хаб, то и мозгов хватит заглянуть в скрипт. У тебя же, я так понимаю, хватило. В описании я даже написал, что есть подробные пояснения для малопонимающих.
Ни одна ссылка из исключений с нашего хаба не спамится, можешь сделать опрос. И спамиться не будет, нет такой привычки. Не надо судить о других по себе.
Такое ощущение, что я кого-то заставляю пользоваться и тяну за уши. Хотите спама - не пользуйтесь, решать вам.
Раз есть такая необходимость в скрипте с раздельными шаблонами для чата и лички (например, чтобы некоторые ссылки, запрещённые в чате, можно было посылать в личке), то уталим спрос.
Немного подредактировал и добавил anti_adversting_multifunctional_api2_+.lua. Желаю удачи
Последний раз редактировалось Damaks 07 июн 2010, 10:54, всего редактировалось 3 раза.
Вечный писал(а):Это несерьезный подход. Правильный скрипт антирекламы должен одни ссылки пропускать в чат, другие пропускать в приват, некоторые никуда не пускать, но не банить, за некоторые банить, если они в чате, за некоторые - если в привате. Например, ссылка на Youtube в личке проходит, а в чате нет. Или наоборот. Или еще как.
Полностью поддерживаю! Ещё должны быть ссылки о которых скрипт должен просто уведомлять операторов без фильтрования.
Прошу авторов добавить функцию "без фильтрования" четвёртым пунктом.
- При рекламе в личку операторам сообщется также ник адресата, которому предназначалось сообщение.
- Добавлена возможность задать описание боту. По умолчанию " - bot - ".
- Пятым режимом добавлено простое информирование оператора о рекламных ссылках без фильтрования.
- Изменены шаблоны рекламы, убраны излишние, исправлены некоторые минусы и ложные срабатывания.
- Изменены некоторые стандартные сообщения для большего удобства и под один шаблон в связи с изменением №1.
- Слегка отредактирован код, к примеру, уменьшена нагрузка на хаб из-за ненужного заполения таблицы при поступающем новом сообщении (Core.GetUserAllData(user)).
Последний раз редактировалось Damaks 16 авг 2010, 20:52, всего редактировалось 2 раза.
--[[
Возвращает true если сообщение содержит части совпадающие с forbidden_patterns и
не совпадающие с allowed_patterns, иначе возвращает false.
]]
local function is_forbidden(message, forbidden_patterns, allowed_patterns)
local allowed_indexes
for start, end_ in gfind_patterns(message, forbidden_patterns) do
if not allowed_indexes then
allowed_indexes = collect_results(gfind_patterns(message, allowed_patterns))
end
local forbid = true
for _, indexes in ipairs(allowed_indexes) do
if start >= indexes[1] and end_ <= indexes[2] then
forbid = false
break
end
end
if forbid then
return true
end
end
return false
end
- При отправлении сообщения профилю-исключению (tProfiles) оно не фильтруется. Теперь возможна отправка сообщения с запрещённой фразой администрации хаба. Соответственно исправлено двойное оповещение, если в автоответчике содержалась реклама.
Последний раз редактировалось Damaks 16 авг 2010, 20:52, всего редактировалось 2 раза.
+ Добавлены версии для API1 (PtokaX 0.3.5-0.3.6).
+ Заменена функция преобразования в нижний регистр на более производительную (прошлая могла влиять на другие скрипты, т.к. изменяла локали во всей программе).
+ Изменён принцип создания шаблонов, что значительно уменьшило их количество (теоретически есть вероятность, что защита ослабнет, на практике такие совпадения практически исключены).
+ По умолчанию добавлены шаблоны наиболее "спамных" адресов без префиксов (*no-ip*, *-hub.org*, *dyndns.tv, *.ucoz.*). Также в исключения добавлены магнет-ссылки.
+ При рекламе в личку в оповещении оператору добавил ip получателя.
- Удалено описание бота (посчитал не таким необходимым).
Последний раз редактировалось Damaks 04 фев 2011, 19:51, всего редактировалось 2 раза.
+ Добавлена минимальная длина сообщения для проверки антирекламой. Проверка только для чата. Особенно пригодится для хабов, где есть викторина или активный чат. Много коротких фраз не проходят все функции соответствия запретам и исключениям. Разница незаметна, скрипт и так быстрый, но для порядка решил добавить.
+ Добавлены шаблоны рекламы для фильтрования ссылок без перфиксов. Не пропускаются .ru, .ro, .ua, .net и .com. Всё чаще встречается спам с такими ссылками без префиксов, видимо на безрыбье решили хоть так спамить. Эти шаблоны не фильтруют модификации, только чёткие занчения "точка домен". Т.к. кликабельные ссылки уже исключены фильтром перфиксов, то оставалось только затруднить копирование из чата ссылки без редактирования. В скрипте можно удалить, есть все пояснения.
+ Изменены шаблоны исключений. В прошлой версии скрипт мог не пропускать некоторые фразы с исключениями. Исправлены окончания.
Абсолютного скрипта антирекламы нет, т.к. для этого нужен искусственный интеллект.
Данный скрипт в своей дефолтной конфигурации эффективно и умеренно-жёстко предотвращает рекламу, при этом ложные срабатывания сведены практически до нуля, на практике уже не наблюдаю. При удалении или изменении некоторых правил можно легко сделать защиту более щадящей. Или же наоборот, добавив и изменив шаблоны ещё ужесточить. Настройка здесь на удивление гибкая и удобная.
Скрипт максимально эффективный, также максимально простой, без разных меню прочей несуразицы. В дефолтном варианте прописаны основные варианты действий, которые могут понадобиться администратору. Кто уже более-менее разбирается в скриптах, без труда сможет удалить неиспользуемые варианты, сделав скрипт эстетически меньше. Эффективность не повысится, код уже оптимизирован, разве что размер в памяти может уменьшиться. К примеру, на GOLD-HUB сжатый скрипт с добавленными правилами и исключениями занимает всего 74 КБ при текущих 1000 юзерах и викторине.
Последний раз редактировалось Damaks 16 июн 2011, 10:02, всего редактировалось 1 раз.
Дырка тут очень простая - не фильтруются магниты, значит в их заголовок можно пихнуть любую ссылку. Конечно, при клике по такому магниту будет всего лишь скачиваться файл, но выглядеть это будет весьма обидно для админа - попробуйте.
И еще, зачем пихать в список "наиболее "спамные" адреса" и прочие ro/ru/ua, если вы всё равно фильтруете все ссылки? не проще ли оставить 1 элементарный шаблон:
-- Возвращает true если сообщение содержит части совпадающие с forbidden_patterns и не совпадающие с allowed_patterns, иначе возвращает false
Что произойдёт, если сообщение содержит части совпадающие и с forbidden_patterns и с allowed_patterns? Я предполагаю, что такое сообщение будет пропущено без фильтрации? Проверять лень.
Последний раз редактировалось Быстрый ответ 20 июн 2011, 15:54, всего редактировалось 2 раза.