Board logo

标题: TW的一个重大发现:过滤名单可以添加注释(已作分析) [打印本页]

作者: 无边无际    时间: 2006-2-21 13:58     标题: TW的一个重大发现:过滤名单可以添加注释(已作分析)

今天心血来潮,折磨一下TW的广告过滤名单,竟然有一个惊奇发现!

原来过滤名单是可以加注释的,(早就知道了的别来

怎样加注释,很简单,格式如下:

过滤条目;注释语    

注意:过滤条目与分号不能有空格,注释语最好不要有星号(*)、问号(?)和具体网页元素地址(可以用http://www.xxx.com,不能用http://www.xxx.com/xxx.html)。

例如:这个网站:http://www.orsoon.com/index.html
加一条:

*orsoon*tl*;未来软件园

可以过滤中间那一大片广告区域。

这样是不是很清楚,万一误杀也容易找到问题所在!

过滤名单是可以加注释的原理见下面本贴 #6楼

[ 本帖最后由 iceriver_final 于 2006-2-22 01:50 PM 编辑 ]
作者: libra    时间: 2006-2-21 14:11

加完注释怎么用?还有低版本的可以加吗?
作者: 无边无际    时间: 2006-2-21 14:22

原帖由 libra 于 2006-2-21 14:11 发表
加完注释怎么用?还有低版本的可以加吗?


怎么用? 晕~!注释就是标记一下某条过滤是干什么的,这样不是很清楚吗,如图:

低版本没有试过,应该可以。
作者: 小絮    时间: 2006-2-21 14:26

万一过滤名单中有“;”出现呢?暂时不加,等老大验证后再说。
作者: Aycox    时间: 2006-2-21 14:44

赞一个先!

我也说不大清楚,可能是上述注释也是名单的一部分,只是广告路径不会是中文,所以不好定论是否真的起到了注释作用,可以用一个比较常见的广告名单作为注释,再在含有此类广告的页面上测试,一试就知道是否真正的注释。
PS:要走了,再会
作者: 无边无际    时间: 2006-2-21 14:51

关于楼上两位说的可能性,我再研究一下,尽快确定是否真能实现注释还是巧遇。(已做分析,如下:)

TW过滤名单把分号作为一条规则的结束符,所以,TW是不能过滤带分号的具体网址,必需借助通配符(*  和  ? )来处理(例如这个网址: http://support.microsoft.com/default.aspx?scid=kb;en-us;290684 )。

由此可知,我们可以把多条过滤写在一起,用分号隔开,例如:

*/ads*
*/ggao/*


可以写成:

*/ads*;*/ggao/*

他们效果是等同的,过滤规则依然算作两条。

也就根据TW过滤对元素地址要求是具体的,不具体的必需要有通配符,要不就不执行该条过滤规则的原理。
我们可以实现过滤条目加注释。(例如,把 bbs.ioage.com 加进过滤名单是不起作用的,但这样就有效了:*bbs.ioage.com*,所以注释语最好不要有星号(*)、问号(?)和具体网页元素地址)

至于加上注释,TW会不会把注释作为一个过滤条目,从而影响速度。我的认为是不会的算成一条,因为根本不成为一条过滤规则,也就不会在打开页面时执行。究竟是不是我想的这样,还请老大说明一下。

……

[ 本帖最后由 iceriver_final 于 2006-2-22 01:56 PM 编辑 ]
作者: starsoft    时间: 2006-2-21 18:11

又学一招             厉害
作者: yyz219    时间: 2006-2-21 18:25


谢谢                            又学一招
作者: 无边无际    时间: 2006-2-22 17:36

下班前,见老大来了,顶顶,想问老大,加注释会不会影响速度。
作者: 小絮    时间: 2006-2-22 18:10

*/ads*
*/ggao/*
既然可以写成:*/ads*;*/ggao/*
那么
*/ads*
ads
就可以写成:*/ads*;ads
也就是说,ads不是注释,而是一条过滤规则!!!不过与“ads”这个条件完全匹配的地址是不存在的,所以“ads”不会发生误拦,但增加了过滤条件的数目,确实会影响速度。
作者: 无边无际    时间: 2006-2-22 21:11

但我另一种想法,ads是一条过滤规则,TW对它检查是必定的,因为是无效的,所以不会拿它去和网页代码匹配。就如程序代码的 //  ,程序执行时对它检查是必定的,只不过跳过对它后面的代码检查。

虽然这种注释不如程序代码里的注释先进智能跳过,会影响速度,但不能和有效过滤规则相比。
我这种说法牵强,但纯拿过虑条目越多,速度越慢也难让我信服,因为现在出现这种无效规则了。

所以我有空将测试:把所有规则都变成纯无效,和纯有效规则,数目一样,看看速度是否一样。
作者: 小絮    时间: 2006-2-23 00:13

速度肯定不一样!!!纯无效的绝对要慢!
例子:一网页有100条URL,其中50条是广告。黑名单规则N条
纯无效规则的计算量:A=N*100  也就是要100次检验
纯有效规则,假设第y条命中广告,其中y为小于N的任何可变正整数,则有:B= N*100 - (N-y) * 50
不难看出: A≥B
作者: 无边无际    时间: 2006-2-23 03:42     标题: 关于加注释对速度的影响问题已经测试完成

楼上算法也许理论是这样,但实际上并不是这样的,恰恰相反:纯无效要比纯有效的快多了

带宽:2M ADSL,无其它任何程序在使用网络资源。

附件有效名单有900条(当然有重复条目,这里测试主要是数目)

无效名单是把有效名单里的星号和http全部直接替换为分号转换得来的。所以条目是
有效名单的2~3倍,即约2000来条

我选这个网页作测试,页面本身没有广告,没有太多链接,内容不多但也不少。
由于只测试黑名单,所以白名单全清除。
按楼上公式,如果条目相同,速度也相当,现在无效条目多,速度应该要慢一些。
http://bbs.ioage.com/viewthread. ... hlight=%C3%FB%B5%A5

测试内容主要是看页面打开过程CPU占用幅度及高峰点持续时间。(机器不同CPU占用幅度也不同,但之间的比例是一样的)

结果表明:在无效条目远远多于有效条目的情况下,使用无效名单仍然要比使用有效名单快得多。
所以无效过滤条目较是特殊的,不适应以前的理论名单公式。但它还是对速度有一定的影响,只不过是
微小的,毕竟我们日常不会有上千条的注释。

虽然以上结果是粗略的测试得来的,但不可否认加注释对速度的影响极小,可以忽略。不等同加过滤规则。
现在,大家可以放心地用了(注:名单只对页面加载过程有影响,加载完毕是不会受影响的)

[ 本帖最后由 iceriver_final 于 2006-2-23 02:38 PM 编辑 ]
作者: 山水人天    时间: 2006-2-23 08:01

但凡过滤、黑名单,小得都是新手、白白的看大家在这里讨论却完全看不明白




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