Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Безопасность [PtokaX] _ Антиреклама для PtokaX

Автор: Damaks 4.6.2010, 12:47

Антиреклама для PtokaX.


Название: anti_adversting_multifunctional
Версия скрипта: 1.6
Версия API: API1, API2
Авторы: Damaks и nd
Описание скрипта:

- Наиболее эффективный и понятный скрипт антирекламы для PtokaX.
- Сканирует чат и личку.
- Запрещённые слова ищутся по универсальным шаблонам, что во много раз уменьшает количество примеров рекламных фраз.
- Регистр не важен, www и wWw фильтруются одинаково (самый эффективный и компактный на сегодняшний день алгоритм преобразования кодировки cp1251 в нижний регистр).
- Не существует проблемы с обходом защиты благодаря оптимальному поисковому алгоритму (распространённая проблема в большинстве скриптов, случается при нахождении в одном сообщении заперещённой фразы и исключения).
- Ложные срабатывания сведены к минимуму и практически исключены.
- Раздельные функции сканирования чата и лички (выбрать нужный режим можно изменением одной цифры в скрипте).
- Приличный выбор самых необходимых режимов наказания: возможность бана на заданное время (задаётся в скрипте), разъединения (сообщение юзеру о рекламе и disconnect), просто замены запрещённой фразы (сообщение с рекламой заменяется информационным, его видит только отправитель), тихого фильтрования (отправитель думает, что всё нормально и сообщение доставлено, в личке и общем чате же оно не появляется) или просто информирование операторов о поступаемых ссылках.
- Возможность информирования операторов о попытке рекламы с показом запрещённой фразы (если хотите знать, кто что отсылает).
- При рекламе в личку показывает получателя сообщения, что даёт больше информации.
- При отправлении сообщения профилю-исключению (tProfiles) оно не фильтруется.

Цитата( Примеры информирования пользователя и оператора )
[15:53:56] <Антиреклама> *** Внимание! Реклама посторонних ресурсов на хабе категорически запрещена!
[15:53:56] <Антиреклама> *** Внимание! Реклама посторонних ресурсов на хабе категорически запрещена! Вы были забанены на 10 мин.
[15:53:56] <Антиреклама> *** Внимание! Реклама посторонних ресурсов на хабе категорически запрещена! Вы были отключены.

[15:54:57] <Антиреклама> *** [89.222.185.103] Nick-1 реклама в чат: dchub://goldhub.mydc.ru
[15:55:47] <Антиреклама> *** [89.222.185.103] Nick-1 реклама в личку [79.174.78.92] Nick-2 : http://mydc.ru/r/?http://mydc.ru


В скрипте есть подробные пояснения, которые помогут разобраться даже новичку в lua.
Справка по редактированию шаблонов: http://mydc.ru/topic266.html?hl=%E7%E0%F5%E2%E0%F2%E0%F5.
Версию скрипта для API1 необходимо использовать в паре с http://mydc.ru/topic605.html (уже находится в архиве, также копируется в папку "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_api2.lua ( 9.76 килобайт ) : 607

 anti_adversting_multifunctional_api1.zip ( 9.65 килобайт ) : 105





Антиреклама Plus для PtokaX.


Название: anti_adversting_multifunctional_plus
Версия скрипта: 1.6
Версия API: API1, API2
Авторы: Damaks и nd
Описание скрипта:

Основывается на скрипте anti_adversting_multifunctional. Немного расширяет функциональность, не теряя при этом в производительности.

Содержит все функции первого скрипта, плюс:
– Раздельные шаблоны для чата и лички (для разных критериев фильтрования).

Версию скрипта для API1 необходимо использовать в паре с http://mydc.ru/topic605.html (уже находится в архиве, также копируется в папку "scripts").


Скачать:
 anti_adversting_multifunctional_plus_api2.lua ( 11.4 килобайт ) : 249

 anti_adversting_multifunctional_plus_api1.zip ( 9.78 килобайт ) : 35



Автор: Nickolya 4.6.2010, 14:29

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

Автор: Damaks 4.6.2010, 14:58

Хорошо, учту.

Автор: Damaks 7.6.2010, 11:03

На другом форуме пожелали скрипт с раздельными шаблонами для чата и лички. Например, чтобы некоторые ссылки, запрещённые в чате, можно было посылать в личке. Немного подредактировал и добавил anti_adversting_multifunctional_api2_+.lua. Желаю удачи feel_good.gif

Автор: Drakula 7.7.2010, 14:15

А можно добавить причину бана и ник кто забанил?? тобиш:
<PtokaX> Вы были временно забанены на этом хабе! Вам осталось ждать: 6 дней 23 часов 59 мин 54 сек
IP: 10.15.9.119
Причина: Проверка
Ник: [Uruchie]Drakula
Кем забанен: Антиреклама
Для чего, для того что юы нарушитель знал за что его забанили и кто. Зарание сенк

Автор: Артём 7.7.2010, 14:27

Код
sReason = "Нарушение правил хаба. Ищите другое место для рекламы!"

Раскрывающийся текст
local sBot = "Антиреклама" -- Имя бота
local bot_reg = 1 -- Показывать бота в списке пользователей (0 - нет; 1 - да)
local ban_time = 10 -- Время бана (мин)
local op_info = 1 -- Информировать о попытке рекламы операторов с показом запрещённой фразы (0 - нет; 1 - да)
local sReason = "Нарушение правил хаба. Ищите другое место для рекламы!"
строка
Код
BanMan.TempBan(user,ban_time,"","",false)

сделать так
Код
BanMan.TempBan(user,ban_time,sReason.."","",false)

Автор: Drakula 7.7.2010, 16:45

Сенк но я уже сам сделал=))

Код
BanMan.TempBan(user,ban_time,sReason,sBot,false)

Автор: Damaks 13.7.2010, 8:49

Drakula
Информация о причине бана, отключения либо непрохождении сообщения выводится юзеру и при рекламе в чате, и при рекламе в личке. При бане показывается время бана. Например:

Цитата
[09:48:29] <Антиреклама> *** Внимание! Реклама посторонних ресурсов на хабе категорически запрещена. Вы были забанены на 10 мин.

Ещё и имя бота "Антиреклама". В скрипте всё это есть уже по умолчанию.

Автор: Damaks 11.8.2010, 14:37

Скрипты обновлены.

Изменения:

- При рекламе в личку операторам сообщется также ник адресата, которому предназначалось сообщение.
- Добавлена возможность задать описание боту. По умолчанию " - bot - ".
- Пятым режимом добавлено простое информирование оператора о рекламных ссылках без фильтрования.
- Изменены шаблоны рекламы, убраны излишние, исправлены некоторые минусы и ложные срабатывания.
- Изменены некоторые стандартные сообщения для большего удобства и под один шаблон в связи с изменением №1.
- Слегка отредактирован код, к примеру, уменьшена нагрузка на хаб из-за ненужного заполения таблицы при поступающем новом сообщении (Core.GetUserAllData(user)).

+ убрал лишнюю функцию во втором скрипте. Скрипт перезалил в 15.36

Автор: Damaks 13.8.2010, 13:34


+ Изменён алгоритм поиска, в результате чего обработка сообщений происходит в 2 раза быстрее. Скрипты обновлены.

Автор: Damaks 16.8.2010, 20:45

Скрипты обновлены.

Изменения:

- При отправлении сообщения профилю-исключению (tProfiles) оно не фильтруется. Теперь возможна отправка сообщения с запрещённой фразой администрации хаба. Соответственно исправлено двойное оповещение, если в автоответчике содержалась реклама.

Автор: TROJAN 21.8.2010, 18:53

123

Автор: Алекс-Д 12.9.2010, 13:49

Всем привет! still_dreaming.gif установил скрипт антирекламы anti_adversting_multifunctional_api2_+ . не понравилось,что блокирует www. ссылки из внешнего инета.. как это можно убрать?! подредактировать.. подскажите пожалуйста.. ))

Автор: Ksan 12.9.2010, 13:51

Удали из шаблонов.

Автор: Алекс-Д 12.9.2010, 14:08

Цитата(Ksan @ 12.9.2010, 14:51) *
Удали из шаблонов.

а поконкретнее?! из каких шаблонов? и как? открываю скрипт в Notepad++,что там надо удалять? electric_shock.gif

Автор: Saymon 12.9.2010, 14:12

ёмаё.... Сговорились чтоли....

> из каких шаблонов?

Код
local forbidden_patterns = {      -- Шаблоны запрещённых выражений
  'd%a?c%a?h%a?u%a?b%a?:%a?/%a?/', 'd%d*c%d*h%d*u%d*b%d*:%d*/%d*/', 'd%p*c%p*h%p*u%p*b%p*:%p*/%p*/', 'd%s*c%s*h%s*u%s*b%s*:%s*/%s*/',        -- Фильтрует "dchub://" и модификации
  'h%a?t%a?t%a?p%a?:%a?/%a?/', 'h%d*t%d*t%d*p%d*:%d*/%d*/', 'h%p*t%p*t%p*p%p*:%p*/%p*/', 'h%s*t%s*t%s*p%s*:%s*/%s*/',        -- Фильтрует "http://" и модификации
  'w.?w.?w.?%.',        -- Фильтрует "www." и модификации
  '%d+%.%d+%.%d+%.%d+',        -- Фильтрует ip-адреса
}

> и как?
Руками.
> открываю скрипт в Notepad++
Верно.
> что там надо удалять?
Код
'w.?w.?w.?%.',        -- Фильтрует "www." и модификации

не о чём не говорит? Всё же в коментарях даже есть.

Автор: Алекс-Д 12.9.2010, 14:27

ну всё ок!!! спасибо за ответ! still_dreaming.gif удалил, всё работает! ;)

Автор: Damaks 12.9.2010, 20:12

Шаблоны можете изменять и добавлять свои. Как это делается, можно почитать здесь: http://mydc.ru/topic266.html?hl=%E7%E0%F5%E2%E0%F2%E0%F5

Автор: RAND(i)M 2.10.2010, 18:49

Проверяю на IP обычно такой функцией, т.к. шаблон %d+%.%d+%.%d+%.%d+ не спасает от любителей позаменять точки на что-то типа "тчк" или пробела

Код
function CheckIPSpam(message) -- проверка на содержание явного/неявного IP в сообщении
        local ip1,r,ip2,ip3,ip4 = message:match("(?[12]?%d%d)(%D?%D?%D?%D)(%d?%d?%d)%2(%d?d?%d)%2(%d?%d?%d)")
        if ip4 and tonumber(ip1)<=255 and tonumber(ip2)<=255 and tonumber(ip3)<=255 and tonumber(ip4)<=255 then
            return true
        end
end

Автор: TROJAN 29.10.2010, 12:51

9

Автор: Ksan 29.10.2010, 13:39

TROJAN, непонятно говоришь. Приведи примеры.

Автор: Nickolya 29.10.2010, 15:20

У меня такое ощущение, что и исключения в скрипте должны подчиняться правилам http://mydc.ru/topic266.html, так что попробуй вместо

Код
  'magnet:?xt=urn:tree:tiger:',
прописать там просто
Код
  'magnet:',

Автор: Ksan 29.10.2010, 15:43

Код
'magnet:'

А вдруг у кого ник такой...пусть лучше будет чуток длиннее..
Раскрывающийся текст
Я в своём антикапсе использовал
Код
magnet:%?xt
правда, антикапс магнетам и без этого исключения не мешает нисколько.

Автор: absent 30.12.2010, 15:14

не знаю как но скрипт у меня пропускает рекламу хаба. 0.4.1.2 и сам при этом не вылетает.

не забываем удалять рекламу топикстартера из скрипта =)

в описании -бот- не добавляет

Автор: Vladimir_71_RUS 6.1.2011, 19:08

Люди помогите плз а то заматали рекламщики! как можно добавить что бы DNS адреса блокировал типо .dyndns.tv, no-ip.com и т.д. а то реклама проходит!!!

Автор: Артём 6.1.2011, 19:26

Vladimir_71_RUS, домен не судьба вписать? .сom или что там у тебя рекламят

Автор: Saymon 6.1.2011, 19:27

Vladimir_71_RUS,
Скрипт то открывал? Пиши....

Код
local forbidden_patterns_all = {      -- Шаблоны запрещённых выражений для чата
  'd%a?c%a?h%a?u%a?b%a?:%a?/%a?/', 'd%d*c%d*h%d*u%d*b%d*:%d*/%d*/', 'd%p*c%p*h%p*u%p*b%p*:%p*/%p*/', 'd%s*c%s*h%s*u%s*b%s*:%s*/%s*/',        -- Фильтрует "dchub://" и модификации
  'h%a?t%a?t%a?p%a?:%a?/%a?/', 'h%d*t%d*t%d*p%d*:%d*/%d*/', 'h%p*t%p*t%p*p%p*:%p*/%p*/', 'h%s*t%s*t%s*p%s*:%s*/%s*/',        -- Фильтрует "http://" и модификации
  'w.?w.?w.?%.',        -- Фильтрует "www." и модификации
  '%d+%.%d+%.%d+%.%d+',        -- Фильтрует ip-адреса
}

Автор: Vladimir_71_RUS 6.1.2011, 19:45

я открывал скрипт вписывал туда сам адрес в запрещенные и всеравно пропускал

Автор: Артём 6.1.2011, 19:49

Vladimir_71_RUS, не нада весь адрес вписывать, нада только домен вписать dyndns.tv, no-ip.com - то есть

Код
'%.tv', '%.com'

Автор: Vladimir_71_RUS 6.1.2011, 19:56

спасибо!

Автор: -slava- 15.1.2011, 9:11

Спасибо за скрипт!! Всем хорош. Только с хистори не дружит а именно при перезаходе на хаб видны блокированные ранее ссылы! HELP

Автор: Serx 15.1.2011, 11:44

поставь его в списке скриптов выше хистори

Автор: Damaks 4.2.2011, 18:01

Скрипты обновлены.

Изменения в версии 1.5:

+ Добавлены версии для API1 (PtokaX 0.3.5-0.3.6).
+ Заменена функция преобразования в нижний регистр на более производительную (прошлая могла влиять на другие скрипты, т.к. изменяла локали во всей программе).
+ Изменён принцип создания шаблонов, что значительно уменьшило их количество (теоретически есть вероятность, что защита ослабнет, на практике такие совпадения практически исключены).
+ По умолчанию добавлены шаблоны наиболее "спамных" адресов без префиксов (*no-ip*, *-hub.org*, *dyndns.tv, *.ucoz.*). Также в исключения добавлены магнет-ссылки.
+ При рекламе в личку в оповещении оператору добавил ip получателя.
- Удалено описание бота (посчитал не таким необходимым).

Автор: Damaks 26.3.2011, 11:34

Скрипты обновлены.

Изменения в версии 1.6:

+ Добавлена минимальная длина сообщения для проверки антирекламой. Проверка только для чата. Особенно пригодится для хабов, где есть викторина или активный чат. Много коротких фраз не проходят все функции соответствия запретам и исключениям. Разница незаметна, скрипт и так быстрый, но для порядка решил добавить.
+ Добавлены шаблоны рекламы для фильтрования ссылок без перфиксов. Не пропускаются .ru, .ro, .ua, .net и .com. Всё чаще встречается спам с такими ссылками без префиксов, видимо на безрыбье решили хоть так спамить. Эти шаблоны не фильтруют модификации, только чёткие занчения "точка домен". Т.к. кликабельные ссылки уже исключены фильтром перфиксов, то оставалось только затруднить копирование из чата ссылки без редактирования. В скрипте можно удалить, есть все пояснения.
+ Изменены шаблоны исключений. В прошлой версии скрипт мог не пропускать некоторые фразы с исключениями. Исправлены окончания.

Автор: Damaks 20.6.2011, 16:02

ВНИМАНИЕ! Для предотвращения спама магнет-ссылками со "спамным" именем файла нужно изменить шаблон мангет-ссылки в исключениях (allowed_patterns):

Цитата
'magnet:%?xt%S*', -- Не проверять рекламу магнет-ссылки
на
Цитата
'magnet:%?xt%S-', -- Не проверять рекламу магнет-ссылки

Автор: Артём 7.2.2012, 3:33

Как бы сам не использую эту антирекламу, но по просьбе одно одмина сделал дополнения к этой антирекламе, решил поделиться со всеми, может кому и пригодится big_smile.gif, если нет, так уж и быть, пост+скрипт фтопку bad_smile.gif
Новые возможности: Теперь можно добавлять/удалять/просматривать шаблоны антирекламы через менюшку + малюсенький "хелп по регулярке"
Папка Antiadv + база исключений и запрета создаётся при первом запуске скрипта.

[attachment=6338:Antiadv.lua]
P.S. Перезалит с исправлениями 7 февраля

Автор: KCAHDEP 1.6.2012, 15:25

Цитата(Артём @ 7.2.2012, 4:33) *
Как бы сам не использую эту антирекламу, но по просьбе одно одмина сделал дополнения к этой антирекламе, решил поделиться со всеми, может кому и пригодится big_smile.gif, если нет, так уж и быть, пост+скрипт фтопку bad_smile.gif
Новые возможности: Теперь можно добавлять/удалять/просматривать шаблоны антирекламы через менюшку + малюсенький "хелп по регулярке"
Папка Antiadv + база исключений и запрета создаётся при первом запуске скрипта.

[attachment=6338:Antiadv.lua]
P.S. Перезалит с исправлениями 7 февраля


а где собственно скрипт?

Автор: Артём 24.6.2012, 19:00

KCAHDEP, позже будет (когда буду дома) в готовом, рабочем виде, хотя и так вроде работает без сбоев big_smile.gif Ждите, чуть-чуть осталось...

Автор: Илия 9.8.2017, 12:03

Цитата(Damaks @ 12.9.2010, 20:12) *
Шаблоны можете изменять и добавлять свои. Как это делается, можно почитать здесь: http://mydc.ru/topic266.html?hl=%E7%E0%F5%E2%E0%F2%E0%F5


Здравствуйте... вот решил использовать ваш скрипт, он у меня запускает показывает что нет синтаксических ошибок.... Но при вводе какой либо рекламы скрипт вылетает и показывает ошибку...
Antireklama.lua:187: in function 'ChatArrival'

Как можно это исправить?

Автор: Ksan 9.8.2017, 14:26

Цитата(Илия @ 9.8.2017, 16:03) *
показывает ошибку...
Antireklama.lua:187: in function 'ChatArrival'
Как можно это исправить?

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