Board logo

标题: [过滤规则] 过滤非本站脚本和广告脚本(欢迎测试,陆续增加白名单) [打印本页]

作者: chentca    时间: 2008-10-16 11:35     标题: 过滤非本站脚本和广告脚本(欢迎测试,陆续增加白名单)

由于受到ff的noscript插件的刺激,而ie内核的script的效率如此之差,各大网站的脚本使用又如此泛滥,所以想办法针对多余的脚本进行过滤。传统的广告过滤直接针对图片的连接,此规则针对脚本的调用进行过滤,脚本执行得少了,ie的浏览效率就高了。
普通用户推荐使用:这里包含了黑名单、白名单和通用过滤,优先顺序:黑名单>白名单>通用过滤
基本框架:<SCRIPT 黑名单 或(白名单 且 通用过滤)/SCRIPT> 替换为 JS:过滤内容提示
  1. #ex#<\s*?(\S*?)\s[^<]*?=\"((?:[^\"]*?(ad(?:show|js|vertis)|ajax|\/gg\/|(?:guan|gon|)ggao|pagead|popup|show_ads|textad|tuijian)[^\"]*?(\/{0,1}\w*?\.js))|(?![^<]*?(?:common|/compare|function|\/global|\.google\.|gougou|guge\/china_start_suggest\.js|ImageCache|\/language|mail|\/master|menu|passport|search|sourceforge|tools|\/utils|viewthread|WLLogin))(?:[^"]*?http:\/\/([^/]*)[^"]*\/([^.]*?\.js)))\"?[^<]*?<\s*?\/\s*?\1\s*?>###<TD width=80><A class=newstiao2-2 title=$1:$2 href="$1:$2">JS:$3$4$5</A></TD>
复制代码
用户可以通过被滤掉的内容提示添加需要的白名单,这下好用了!
黑名单:
  1. (ad(?:show|js|vertis)|ajax|\/gg\/|(?:guan|gon|)ggao|popup|textad|tuijian)
复制代码
白名单:
  1. (?:common|/compare|function|\/global|\.google\.|gougou|guge\/china_start_suggest\.js|ImageCache|\/language|mail|\/master|menu|passport|search|sourceforge|tools|\/utils|viewthread|WLLogin)
复制代码
通用过滤条件:
  1. (?:[^"]*?http:\/\/([^/]*)[^"]*\/([^.]*?\.js)
复制代码
用户可以根据需要修改。


再发一个可以对所有脚本进行过滤和放行的规则适合对script熟悉的用户提供参考:
  1. #ex#<SCRIPT(?:.*?("\w(?:ad(?:show|js|vertis)|\/gg\/|(?:guan|)ggao|popup|textad|tuijian)\w")|(?!.*?(?:common|/compare|function|\/global|\.google\.|gougou|guge\/china_start_suggest\.js|ImageCache|\/language|\/master|menu|passport|search|tools|\/utils|viewthread|WLLogin).*?).*?(?:(src=".*?")|(try.*?\{.*?\})|(href=".*?"))).*?</SCRIPT>([\s\S]*?)<script###$5<DIV>JS:$1$2$3$4</DIV><script
复制代码

[ 本帖最后由 chentca 于 2008-11-10 10:30 编辑 ]
作者: tinham    时间: 2008-10-17 00:32

不规范啊,没有加转义字符“\”

[ 本帖最后由 tinham 于 2008-10-17 08:32 编辑 ]
作者: chentca    时间: 2008-10-17 08:53

楼上的,不吝赐教啊!
我对正则表达的理解还比较粗浅,纯粹从字符处理的角度来进行过滤筛选的,希望高手来帮助完善它!
作者: 爱可以很久    时间: 2008-10-17 11:51

greendown的白名单怎么添加?按你的方法加入了“|greendown”貌似下载链接的脚本还是会被过滤掉..即使删除规则,打开页面的下载链接仍然保持过滤状态(刷新,重启TW),新开的页面不会被过滤掉,8好意思,偶是小小菜。
作者: chentca    时间: 2008-10-17 14:29

白名单的添加不是以网站来添加的,是以被过滤的内容提示,比如http://www.greendown.cn/default.html
你会看到:
JS:src="/js/language.js"
JS:src="/ggao/tj.js"
JS:src="http://bbs.greendown.cn/api/javascript.php?key=N"
竟然还有JS:src=""
如果你白名单添加了greendown,那第3行的脚本就不会被过滤了。
以此类推,你可以添加|\/language或者\/api\/进行过滤排除
上面的\是个转译字符,不过实测好像是不影响过滤效果,为了规范还是添加的好。

如果你要全网站脱离过滤,可以用tw的白名单,这样整个网站都不会被黑名单过滤

[ 本帖最后由 chentca 于 2008-10-17 14:31 编辑 ]
作者: 八阵图    时间: 2008-10-19 12:49

提示: 作者被禁止或删除 内容自动屏蔽
作者: pad88    时间: 2008-10-19 17:15

看不懂但还是支持楼主的好意。
作者: lixiang    时间: 2008-10-20 16:48

TheWorld能不能也开发出一个NoScript插件啊?
作者: chentca    时间: 2008-10-21 13:12

是啊,我也很希望是这样,而且上面的规则似乎效率很低,我搬到proxo去,过滤速度飞快的。
作者: chentca    时间: 2008-10-23 17:58

增加了对过滤的提示尽量向下摆放的功能,对排版来说可能会少许好看些。
另外,一不小心,发现了tw的广告过滤不是多次匹配的,过滤规则只能匹配一次,所以有必要把同一个规则贴两次。
精简了提示信息的长度,避免了大范围的格式错位。

[ 本帖最后由 chentca 于 2008-10-24 09:38 编辑 ]
作者: chentca    时间: 2008-10-24 10:23

最后修改完,准确度,提示信息,网页排版影响等都得到改善了!
作者: chentca    时间: 2008-10-24 12:36

添加了鼠标提示信息,指向被过滤的部分,会有完整的过滤信息提示,这样就不怕被过滤信息不完整了。
这下有趣多了!
作者: tabris    时间: 2008-10-28 08:31

请问白名单怎么设呢?
作者: chentca    时间: 2008-10-29 14:17

补充了名单设置的区段,可以根据需要添加
作者: chentca    时间: 2008-10-30 16:12

发现并修正了由于变量里包含",造成部分主页过滤后tw死锁的问题。
作者: vokins    时间: 2008-10-30 23:57

虽然在各个不太懂,但是还是很看好的说~有效果当然支持~
作者: tinham    时间: 2008-10-31 08:45

支持一下楼主,,,辛苦了




欢迎光临 世界之窗论坛 (http://bbs.theworld.cn/) Powered by Discuz! 7.2