Board logo

标题: 一份另类的黑白名单草案(已停止测试) [打印本页]

作者: 小絮    时间: 2005-12-18 13:45     标题: 一份另类的黑白名单草案(已停止测试)

此黑白名单方案未能体现出效果,故无测试必要,希望大家别再下载测试以免浪费时间与精力             --絮

在认真学习了starsoft的精品贴子后,根据其精简黑名单的方针政策,针对网上大部分的广告传媒网站制作此黑白名单草案。
这份黑白名单杀伤力很强,仅供各位广告过滤爱好者测试用,谢绝无经验者使用以防造成不良影响。希望各位高手踊跃测试并把测试结果反馈出来,如:
网站地址:http://www.xxxx.com/aaaa?id=....
误拦截内容:文字说明
建议白名单修正:*xxxx*

测试黑白名单如下:
黑名单:
*.ad*
*/ad*
*/banner*
*/in_top?.js
*0x*0.gif*
*id=*

白名单:
*add*
*admin*
*adsl*
*alum*
*bbs*
*down*
*forum*
*login*
*play*
*post*
*read*
*soft*
*view*
*mail*   增加一些邮箱网页的修正

*show*    根据本帖4楼zhq74的反馈意见把该条删除


黑名单说明:
1、*/in_top?.js  
针对霏凡进行的过滤,与*/ad*结合能达到很好的效果。考虑到过滤名单对系统资源的占用,因此没有加上*/ggao*和*/good/*这两个条件以达到“完美”的效果,因为我觉得就为了一个网站而牺牲其他网站的浏览性能非常地不值。
2、*0x*0.gif*
这个不用多说,拦截一些广告图片的。
3、*/banner*
同2,拦截横幅
4、*.ad*和*/ad*
大部分广告都于“ad”这个字符串有关,本来想设置成*ad*的,但这样做的话用白名单修正的内容就太多了反而影响效率,于是分成*.ad*和*/ad*,只要用一些“ad”开头的比较常碰到的单词做修正就可以了。
5、*id=*
这条是重点测试对象,杀伤力巨大!大部分广告传媒网站的广告连接都含有“userid=”、“uid=”等区分用户的字眼,因此这个条件可以屏蔽大部分广告连接。但是论坛、下载网站也用到“id”这个敏感字眼,因此要在白名单中设置条件纠正。

白名单说明:
1、*add*、
修正*.ad*、*/ad*及*id=*,很多论坛中新增贴子的字眼就是“addnew”
2、*admin*
修正*.ad*、*/ad*及*id=*,很多论坛中管理任务的字眼就是“admin”
3、*adsl*
修正*.ad*和*/ad*
4、*alum*
修正*.ad*、*/ad*及*id=*,同学录中也用到“id”敏感字眼,如“中国人同学录”,虽然用“chinaren”或其他的能修正,但用*alum*能一举两得。
5、*bbs*和*forum*
修正*id=*,对论坛中的“id”放行,大部分论坛地址都是“bbs.xxxx.com”或“xxxx.com/forum/”
6、*login*
修正*id=*,针对邮箱放行“id”
7、*play*
修正*.ad*、*/ad*及*id=*,针对“ad”如新浪的新闻,针对“id”如一些在线音乐网站
8、*post*、*view*、*read*
修正*id=*,主要还是针对论坛的,“post”一般为编辑贴子用到,“read”和“view”当然是阅读贴子用到了(并不是所有论坛都含有“bbs”或“forum”),而“view”还能修正一些下载网站的软件浏览。
9、*soft*、*down*
修正*id=*,主要针对下载网站。另外*soft*条件可以改成*/soft*使其范围缩小,否则金山的广告就会乘虚而入“...kingsoft.com/...”,那些毒霸、WPS的广告也挺讨厌的。

补充说明:
白名单中的 *show*
原帖由 starsofthttp://bbs.ioage.com/viewthread.php?tid=2555 发表
*show*    常出现在一些动态网页地址里,去掉打开有些用到这个词的网站会卡,或出不来.如以前有一个版本打开PCONLINE打不开,加这个进白名单解决


---------------------------------------------------------------------------------------------------------------------------------------------------------

[ 本帖最后由 三月飞絮 于 2005-12-19 01:10 AM 编辑 ]
作者: 掷石的大卫    时间: 2005-12-18 14:51

支持一下,我把他们下了,哈哈
作者: zhq74    时间: 2005-12-18 15:02

*id=*
这条太过了点。
我知道好多宽带电影,在线播放都用这个形式的,我们地区的在线电影就是。(地址不贴了,根据IP地址判断,其他地方没法上的)
作者: zhq74    时间: 2005-12-18 15:25

IT168首页。
这个广告在“/adshow.…………”
按理说“*/ad*”可以把它过滤,可是白名单的“*show*”又让它显示。
作者: 258369    时间: 2005-12-18 15:31

建议楼主去掉*id=*,误过滤太多了
作者: 小絮    时间: 2005-12-18 15:43

原帖由 258369 于 2005-12-18 03:31 PM 发表
建议楼主去掉*id=*,误过滤太多了

这份黑白名单测试对象的主角就是 *id=* ,现在就是想征集比较好的用以修正*id=*误拦的白名单。


非常感谢zhq74的反馈意见。
3楼中提到的电影在线播放问题在白名单中已经有“*play*”这个条件修正,例如我们这边的区域在线电影的播放地址是:“http://www.dayday.com.cn/movies/rmplayer.asp?uid=7924&aid=2505&quantity=上集”。如果确实出现无法播放的情况请把完整的播放地址贴出来供分析一下(贴地址的时候别忘了设置一下论坛功能为“禁用URL识别”),当然喽,由于其他人无法浏览,只能麻烦其本人再次去测试了。
4楼提到的情况已修正,把*show*去掉,关于*show*的作用我已经修改1楼的贴子说明。

[ 本帖最后由 三月飞絮 于 2005-12-18 04:01 PM 编辑 ]
作者: zhq74    时间: 2005-12-18 16:04

starsoft 的贴子我也看过。
他的原话是这样的:

  理由如下:我没看过TW黑名单的源代码但是无非是每个链接请求都会判断是不是黑名单里的.也就是要一一比对黑名单里的全部内容.如果黑名单一大,一个网页有100个地址,你有30条,就要比3000次.如果黑名单少,效率就高,如果一条地址命中黑名单的规则,TW相信一定会去找白名单,是不是会取消过滤.这样就只对可疑的地址作了比对.而不是在第一关就详细的比对.

    实例: 甲设置:黑名单30条  白名单:10条
            乙设置:黑名单10条  白名单:30条
            甲乙的设置都是共40条规则
            假设网页有一100个地址(URL).其中有5条广告URL.
      极坏的情况(黑白名单最后一条规则才命中):
           甲设置:比对次数是:100(注URL)*30(黑名单条数)+5(可疑的广告URL)*10(白名单规则)=3050
           乙设置:比对次数是:100*10+5*30=1150
      极好的情况(黑白名单第一条规则就命中):
            甲:100*1+5*1=105次           乙:100*1+5*1=105次
      次好情况甲(第一条规则命中黑名单,但最后一条白名单命中)
           甲:100*1+5*10=150         乙:100*1+5*30=250
      次好情况乙(最后一条规则命中黑名单,但第一条白名单就命中)
           甲:100*30+5*1=3005        乙:100*10+5*1=1005
      其他情况就不好说了


我仔细看过,我觉得情况不应该这样考虑:
上面的例子;网页中100个地址。
                        甲30条黑名单过滤后,剩5条可疑地址。
                        乙10条黑名单过滤后,怎么可能也剩5条可疑地址?可能剩8条,也可能剩10条,还可能剩……
            所有上面公式是不成立的。
在我看来白名单多还是黑名单多,二者并没很重要的区别,区别在于你所察看的网页。
作者: 小絮    时间: 2005-12-18 16:37

To  zhq74:
starsoft说的5条广告URL不是指绝对的广告地址,而是被黑名单命中的疑似广告地址。
作者: zhq74    时间: 2005-12-18 16:57

原帖由 三月飞絮 于 2005-12-18 04:37 PM 发表
To  zhq74:
starsoft说的5条广告URL不是指绝对的广告地址,而是被黑名单命中的疑似广告地址。

假设情况;30条黑名单疑5条,10条黑名单疑的肯定不至5条。黑名单越少,打击面越广,白名单判断得越多。
如果黑名单是   100×30   剩余5     5×10
那么白名单是   100×10   剩余?  ?×30  (?是>5的任何数)

我的意思是他那公式是错的
甲设置:比对次数是:100(注URL)*30(黑名单条数)+5(可疑的广告URL)*10(白名单规则)=3050
乙设置:比对次数是:100*10+5*30=1150


[ 本帖最后由 zhq74 于 2005-12-18 05:13 PM 编辑 ]
作者: zhq74    时间: 2005-12-18 17:23

所以我真正的意思是:要达到效果,用白名单附以黑名单或用黑名单附以白名单,都是一样的。并不存在谁效率更高。(以G计的CPU计算这些算不了什么)
黑名单用起来更直接。
白名单用起来脑子还要转一下。
作者: 小絮    时间: 2005-12-18 20:22

其实我也曾怀疑过此公式有问题,但一直找不出到底是哪点不对劲,zhq74的话真是一语惊醒梦中人啊!确实黑名单越少打击面越广,白名单判断就越多!

有公式:黑命中数×黑命中行+(地址数-黑命中数)×黑名单数+白命中数×白命中行+(黑命中数-白命中数)×白名单数
整理得:地址数×黑名单数+黑命中数×白名单数-黑命中数×(黑名单数-黑命中行)-白命中数×(白名单数-白命中行)

到这里被卡了好长时间不会分析了,待会有事要出去,回来再继续考虑。
作者: caten    时间: 2005-12-18 21:24

*id=*   -__-!基本上用白名单来修是不大可能了   还是去掉吧....................
作者: zhq74    时间: 2005-12-18 21:40

假设某论坛广告;
论坛地址://bbs.xxxx.com   广告地址//bbs.xxxx.com/ads/001.gif ~ 009.gif
黑名单中有 “*/ad*” 此处9个广告001至009应该被屏蔽,但白名单豁免了 “*bbs*” ,白名单权限大于黑名单;所以广告都得到豁免。
还有如*soft*和*view*都会豁免一些广告。

(以上例子是假设的。三月的帖子都很有建设性的,所以我都认真看后测试的,你可不要嫌我烦!)
作者: starsoft    时间: 2005-12-18 22:14

原帖由 zhq74 于 2005-12-18 04:04 PM 发表
starsoft 的贴子我也看过。
他的原话是这样的:

  理由如下:我没看过TW黑名单的源代码但是无非是每个链接请求都会判断是不是黑名单里的.也就是要一一比对黑名单里的全部内容.如果黑名单一大,一个网页有100 ...



说得好,的确我的验证方法是错误的,但是如果建立在两个前提下,个人感觉(还没想到如何验证)我的观点应该还是对的。
前提1:广告比正常内容少。
前提2:广告是有规律的。

不过,我认为实际应用来说,我说的大而概的程度是一个不好设的程度。个人觉得"ID="的确是该舍去,太概了。

希望大家多探讨,研究
作者: 小絮    时间: 2005-12-19 01:00

原帖由 zhq74 于 2005-12-18 09:40 PM 发表
黑名单中有 “*/ad*” 此处9个广告001至009应该被屏蔽,但白名单豁免了 “*bbs*” ,白名单权限大于黑名单;所以广告都得到豁免。
还有如*soft*和*view*都会豁免一些广告。

论坛中的广告被忽略这个问题我是考虑到的,如中国剑盟论坛和juju猫宽带宝藏(http://www.jujumao.com/)都有广告,但为了能正常浏览论坛也只能放行它们了。

你可不要嫌我烦

有人这么认真地与我探讨问题,高兴还来不及呢,又怎么会嫌你烦呢?  ^_^

*id=*   -__-!基本上用白名单来修是不大可能了

其实我精选出来的那些白名单对*id=*的修复还是可以的,不过是得不偿失啊!!!!

个人觉得"ID="的确是该舍去,太概了

舍去了*id=*,这份黑白名单方案也就失去意义了。我观察了很多广告媒体的网站,它们给出的广告连接共有的字符就是“id”,所以我才想着是否可以利用*id=*再加白名单修正的方法来设置过滤条件。

给出的这份草案虽然自己已经测试过一段时间,但毕竟我个人浏览测试的页面还相对比较少所以遇到的问题也相对比较少。呵呵,还是群众的力量伟大啊!!
再次感谢各位的支持,现已基本得出结论:该份黑白名单方案效果不佳,停止测试。

过段时间我再拟定份新的方案,这次不再一味地追求黑名单的精简而放纵白名单的庞大。
但现在还有个问题:当黑名单条数与白名单的条数总和相等时,到底应该偏向于黑名单呢还是偏向于白名单(也就是“30黑+10白”与“10黑+30白”到底哪个效率高?)
zhq74说的很有道理,在以G计的CPU支持下,这点运算确实不能算什么。不过我还是想在黑白名单中体现出效率,哪怕只有0.00……001s!
作者: zhq74    时间: 2005-12-19 09:05

原帖由 三月飞絮 于 2005-12-19 01:00 AM 发表

但现在还有个问题:当黑名单条数与白名单的条数总和相等时,到底应该偏向于黑名单呢还是偏向于白名单(也就是“30黑+10白”与“10黑+30白”到底哪个效率高?)
zhq74说的很有道理,在以G计的CPU支持下,这点运算确实不能算什么。不过我还是想在黑白名单中体现出效率,哪怕只有0.00……001s!

理论上二种情况的黑+白数量应该相等,但实际情况不太可能。所以效率也无法比较。
按照S兄的思路“广杀精免”,我觉得黑白名单很难设;
经常上的几个网站应该没问题,但是所有网站不可能都是很有规律的。白名单太精确,上陌生网站就容易误杀(因为广杀)。白名单一多,漏杀就多(因为白名单权限大于黑名单)。
如果按照另一种思路“精杀精免”;
黑名单设置稍精细一点,误杀的几率就大大减少。白名单只要三四条用来以防万一。这样就杀除了大多数广告,经常上的网站有几个漏杀可以单独添加。




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