Форумы Форум www.proxomitron.ru
Все о программе Proxomitron
Главная  • FAQ для форума  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Личные сообщения  •  Вход
 Kill JavaScript Banners {^sites} [ALX]
 Сайт -> Форумы » Фильтры
Следующая тема
Предыдущая тема

Новая тема  Ответить
Автор Сообщение
Ciber SLasH
Member
Member


Зарегистрирован: 07.11.2005
Сообщения: 70
Откуда: Россия::Питер

СообщениеДобавлено: Вс, Янв 22 2006 05:59 Цитировать |  |  | 

Не могу понять как этот фильтр доработать так, что бы он не блокировал скрипты у которых в тэге SCRIPT присутствует атрибут id с определённым значением.

Т.е. я хочу, чтобы мои скрипты, которые присутствуют на страничке, которая расположена на бесплатном хостинге (а у них там вставляется реклама в каждую страницу), не резались, а скрипты без определённого id, на той же странице — резались.
К началу Профиль Сообщение
unreal666
Silver Member
Silver Member


Зарегистрирован: 21.10.2005
Сообщения: 149
Откуда: Владивосток

СообщениеДобавлено: Вс, Янв 22 2006 16:06 Цитировать |  |  | 

Содержимое самого фильтра напиши для начала.
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2625
Откуда: SPb

СообщениеДобавлено: Пн, Янв 23 2006 00:13 Цитировать |  |  | 

Содержимое-то его общеизвестно.. Только мне не очень-то нравится идея переделывать фильтр, чтобы он перестал вырезать некоторые баннеры. Лучше вставляй на своей странице скрипт через <script src='..'>, а URL этого скрипта запиши Проксу в Bypass.
К началу Профиль Сообщение
unreal666
Silver Member
Silver Member


Зарегистрирован: 21.10.2005
Сообщения: 149
Откуда: Владивосток

СообщениеДобавлено: Пн, Янв 23 2006 15:24 Цитировать |  |  | 

Ciber SLasH
Можно соответствие заключить в скобки и добавить &(^*$NEST(<script\s,*id=$AV(значение)*,>))
К началу Профиль Сообщение
Ciber SLasH
Member
Member


Зарегистрирован: 07.11.2005
Сообщения: 70
Откуда: Россия::Питер

СообщениеДобавлено: Пн, Янв 23 2006 23:55 Цитировать |  |  | 

2unreal666:
Вот содержимое фильтра, но что-то твоя подсказка не сработала...
Код:

[Patterns]
Name = "Kill JavaScript Banners {^sites} [ALX]"
Active = TRUE
URL = "(^forum.ixbt.com/)&(^(www.|)3dnews.ru/)&(^([^/]++.|)timezero.ru/)"
Bounds = "<script($INEST(<script,</script)</script>( <noscript>|)|*)"
Limit = 2048
Match = "*(://$AV($LST(AdList)*)|"
        "(\=?\=?\=?\=?|ad(click|cycle)|.submit\(*focus\(|super_flashFileURL"
        "|banner_height|<iframe|'ht'\+|.referrer|</script*</script))\1"
        "&[^>]+>((*</script>)\0( <noscript>|)|\0)"
Replace = "<script title="JS_Banner_blocked" language="ShonenScript">\0"
К началу Профиль Сообщение
unreal666
Silver Member
Silver Member


Зарегистрирован: 21.10.2005
Сообщения: 149
Откуда: Владивосток

СообщениеДобавлено: Ср, Янв 25 2006 02:22 Цитировать |  |  | 

Ciber SLasH
А это что такое?
Цитата:
|.referrer.substr(0,0)+"http://proxomitron.ru/board/viewtopic.php?t=513"|

И покажи код, на котором должно сработать. У меня в тестовом окне все сработало.
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2625
Откуда: SPb

СообщениеДобавлено: Ср, Янв 25 2006 10:21 Цитировать |  |  | 

unreal666:
Цитата:
А это что такое?

А этого там нет :) Это Прокс нашёл в тексте .referrer и заменил от греха подальше. Кстати, новый вариант Fix Nosey JavaScripts [ALX] так не хулиганит.
К началу Профиль Сообщение
unreal666
Silver Member
Silver Member


Зарегистрирован: 21.10.2005
Сообщения: 149
Откуда: Владивосток

СообщениеДобавлено: Ср, Янв 25 2006 11:24 Цитировать |  |  | 

chAlx
Ага. это сработал фильтр Hide Browser's Referrer from JS.
К началу Профиль Сообщение
unreal666
Silver Member
Silver Member


Зарегистрирован: 21.10.2005
Сообщения: 149
Откуда: Владивосток

СообщениеДобавлено: Ср, Янв 25 2006 11:27 Цитировать |  |  | 

Ciber SLasH
Возможно у тебя раньше другой фильтр сработал. Посмотри в режиме отладки.
К началу Профиль Сообщение
Ciber SLasH
Member
Member


Зарегистрирован: 07.11.2005
Сообщения: 70
Откуда: Россия::Питер

СообщениеДобавлено: Ср, Янв 25 2006 18:26 Цитировать |  |  | 

2unreal666:
Спасибо, всё заработало. Smile
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2625
Откуда: SPb

СообщениеДобавлено: Чт, Апр 13 2006 21:49 Цитировать |  |  | 

Новый вариант фильтра, радикально упрощённый:

Код:
Name = "Kill JavaScript Banners {^sites} [ALX]"
Active = TRUE
URL = "(^( forum.ixbt.com/ | (www.|)3dnews.ru/ | ([^/]++.|)timezero.ru/ ))"
Bounds = "$NEST(<script,</script>)( $NEST(<noscript>,</noscript>)|)"
Limit = 2048
Match = "$NEST(<script,>)"
        "\0"
        "("
        "://$LST(AdList)|"
        "adclick|"
        "adcycle|"
        ".submit\(*focus\(|"
        "super_flashFileURL|"
        "banner_height|"
        "<iframe|"
        "'ht'\+|"
        ""<sc" \+ "ript|"
        "<script*<script"
        ")\1"
        "\9"
Replace = "<script title=JS_Banner_blocked language=ShonenScript>"
          "busted= [$ESC(\1)]"
          "\0\1\9"
К началу Профиль Сообщение
Unknown Mystic
Platinum Member
Platinum Member


Зарегистрирован: 26.09.2005
Сообщения: 471
Откуда: г. Мытищи, Московская обл.

СообщениеДобавлено: Пт, Апр 14 2006 18:37 Цитировать |  |  | 

А чем .js проверять, если их названия не являются "нехорошими"?
Кроме того длинные (>2048) скрипты не будут обрабатываться...

Собственно для этого вся "заумь" и была... Ну кроме непонятных $INEST() и \=?\=?\=?\=? которые я уже давно выкинул.

Больше ничего сказать не могу - дома прокса так и не стоит...
К началу Профиль Сообщение ICQ
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2625
Откуда: SPb

СообщениеДобавлено: Пт, Апр 14 2006 19:56 Цитировать |  |  | 

Unknown Mystic писал(а):
А чем .js проверять, если их названия не являются "нехорошими"?

Ну, этого тут никгода не было. Этот фильтр отключает рекламные скрипты, а что там понапихано в .js -- май его знает. Может, там только 10% рекламного скрипта, а остальне нужно.

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

А для больших скриптов, в т.ч. для .js есть Fix Nosey JavaScripts [ALX].
К началу Профиль Сообщение
Unknown Mystic
Platinum Member
Platinum Member


Зарегистрирован: 26.09.2005
Сообщения: 471
Откуда: г. Мытищи, Московская обл.

СообщениеДобавлено: Пн, Апр 17 2006 18:24 Цитировать |  |  | 

Цитата:
Ну, этого тут никгода не было. Этот фильтр отключает рекламные скрипты, а что там понапихано в .js -- май его знает. Может, там только 10% рекламного скрипта, а остальне нужно.

Хммм... Это я с Fix Nosey JavaScripts [ALX] перепутал... А вот длинные скрипты он обрабатывал.

Я у себя добавлял еще adjs:
ad(click|cycle|js)
А они по AdList'у часом не блочатся? Кстати у меня то здоровое выражение из AdKeys-RE давно в AdList перекочевало (вернее скопировано).

А "<sc" \+ "ript| действительно надо? Например на fenzin.org
document.write('<scr' + 'ipt ...
Не будем же мы все возможности перебирать? :) Хотя тут он блочится по AdList'у.

Цитата:
"<script*<script"

Только сейчас заметил. Это ж уже третий уровень вложения получается или два скрипта "второго уровня", т.к. самый первый <script поглощается $NEST()'ом. Убери *<script. В оригинале обрабатывались закрывающие теги </script>.
К началу Профиль Сообщение ICQ
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2625
Откуда: SPb

СообщениеДобавлено: Пн, Апр 17 2006 19:54 Цитировать |  |  | 

С AdList/AdKeys надо разбираться отдельно. Когда они будут в полном порядке -- в таких фильтрах будет достаточно проверить на AdKeys (который и так включает проверку AdList). А общие шаблоны я думаю, наоборот, убрать в AdKeys.

Перебрать все варианты деления "<script" -- дело нехитрое; думаю, именно так и будет. Просто вставил то, что попалось (в 2-х местах).

adjs надо найти, откуда взялся, тогда и добавлять. Потому что словечко не слишком говорящее за себя, даже Гугл его находит.

Вложенные скрипты -- это вопрос открытый. Сейчас в моде всякий AJAX и прочий DHTML, поэтому скрипт в скрипте может быть не так уж зловреден. А вот третий уровень -- это точно издевательство :)
Так что я уберу лишний уровень, когда будет время полазать по сайтам и проверить.
К началу Профиль Сообщение
Unknown Mystic
Platinum Member
Platinum Member


Зарегистрирован: 26.09.2005
Сообщения: 471
Откуда: г. Мытищи, Московская обл.

СообщениеДобавлено: Вт, Апр 18 2006 11:17 Цитировать |  |  | 

Ну я бы так не сказал... Особенно учитывая что и на 3 части его разбить можно и на побольше. Это отдельный блок-лист делать придется :))
Этак дело просто фильтром убирающим эти сложения кончится... :)

Было у меня несколко предположений откуда adjs, но не нашел... Может уже убрали.
К началу Профиль Сообщение ICQ
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2625
Откуда: SPb

СообщениеДобавлено: Чт, Апр 20 2006 19:35 Цитировать |  |  | 

Меня тут опять про RBC спрашивают.. Короче, вот обновление: увеличен буфер и добавлена пара ключевых слов (похоже, пора их в блоклист).
Код:
Name = "Kill JavaScript Banners {^sites} [ALX]"
Active = TRUE
URL = "(^( forum.ixbt.com/ | (www.|)3dnews.ru/ | ([^/]++.|)timezero.ru/ ))"
Bounds = "$NEST(<script,</script>)( $NEST(<noscript>,</noscript>)|)"
Limit = 4096
Match = "$NEST(<script,>)"
        "\0"
        "("
        "://$LST(AdList)|"
        "adclick|"
        "adcycle|"
        ".submit\(*focus\(|"
        "super_flashFileURL|"
        "banner_height|"
        "<iframe|"
        "'ht'\+|"
        "aa4_show|"
        ""<sc" \+ "ript|"
        ""<scr" \+ "ipt|"
        "<script*<script"
        ")\1"
        "\9"
Replace = "<script title=JS_Banner_blocked language=ShonenScript>"
          "busted= [$ESC(\1)]"
          "\0\1\9"


Отлично работает в сочетании со строкой count.rbc.ru/banner.gif в Adlist-RE.
К началу Профиль Сообщение
Unknown Mystic
Platinum Member
Platinum Member


Зарегистрирован: 26.09.2005
Сообщения: 471
Откуда: г. Мытищи, Московская обл.

СообщениеДобавлено: Пт, Апр 21 2006 12:23 Цитировать |  |  | 

Ты *<script так и не убрал :)

А вообще с \w[^a-z0-9]banner[^a-z0-9] чего либо полезное встречается? А то может у меня чего-то полезное режется, а я и не знаю :)
К началу Профиль Сообщение ICQ
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2625
Откуда: SPb

СообщениеДобавлено: Пт, Апр 21 2006 15:26 Цитировать |  |  | 

*<script я так и не уберу, пока это не мультифильтр. Пусть режет третий уровень вложенности, если найдёт.

Баннер даже без границ вряд ли полезен, но проблема в том, что иногда под ним встречается совсем не то, что подразумевается (как и с adv.). Так что я предпочитаю такие сайты персонально в AdList вносить.
К началу Профиль Сообщение
Unknown Mystic
Platinum Member
Platinum Member


Зарегистрирован: 26.09.2005
Сообщения: 471
Откуда: г. Мытищи, Московская обл.

СообщениеДобавлено: Пт, Апр 21 2006 17:45 Цитировать |  |  | 

Значит вырезаем второй уровень "спрятаных" скриптов (типа <sc" \+ "ript) или 3-й обычных?
Тогда я вообще не понимаю, зачем он в фильтре? Ты где-нибудь видел этот третий уровень? Хотя два второго уровня могут и попастся...

С adv знаю такую подставу :)
Может их проще в исключения вносить?

русское порно групповуха
К началу Профиль Сообщение ICQ
Показать сообщения:      
 
Новая тема  Ответить

 Перейти:   




Следующая тема
Предыдущая тема
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


P o w e r e d b y p h p B B © p h p B B G r o u p :: T h e m e b a s e d o n FI T h e m e :: Часовой пояс: GMT + 3