Board logo

标题: 过滤规则BUG??? [打印本页]

作者: kbuddy    时间: 2009-5-23 14:34     标题: 过滤规则BUG???

为什么本人无法通过规则过滤这条内容?请给位帮忙看看,感觉我的规则没问题啊

过滤网址:http://c3.unionete.cn/fshow.php?id=1263
过滤规则:/(?:unionete\.cn\/fshow\.php)/

难道是bug?在线等各位的解答
作者: smile16888    时间: 2009-5-25 21:06

tw只能过滤页面里的代码,不能按网址过滤整个网页
作者: Aycox    时间: 2009-5-25 21:45

一般来说过滤分两类,按URL地址或页面内容。
TW2的传统黑名单就是URL过滤,#ex#等就是内容过滤。
网址和脚本图片地址一样都属URL,可过滤(非隐藏,是不下载),但不支持动态地址,所以就有楼主这个情况。

楼主可用#ex#通用内容过滤规则来过滤这种常见广告商的广告。

比如过滤此广告的来源脚本:
#ex#<script\b[^>]*?[\W_]unionete[\W_]....后面省略

或直接按网址过滤:
#exd#*.unionete.cn*#[\s\S]*###
注:这种写法,对于网页和脚本等广告内容,它和按URL过滤的传统黑名单*.unionete.cn*是一个效果。
作者: smile16888    时间: 2009-5-25 21:57

3# Aycox
A版写的太详细了,又学习了
作者: kbuddy    时间: 2009-5-27 10:10

一般来说过滤分两类,按URL地址或页面内容。
TW2的传统黑名单就是URL过滤,#ex#等就是内容过滤。
网址和脚本图片地址一样都属URL,可过滤(非隐藏,是不下载),但不支持动态地址,所以就有楼主这个情况。

楼主 ...
Aycox 发表于 2009-5-25 21:45 http://bbs.ioage.com/cn/images/common/back.gif

非常感谢版主的详细解答,这个我也知道,但是这个并不通用
1.“#ex#<script\b[^>]*?[……”这种方式并不通用,很多网站都是把脚本的引用并不直接放在页面内容里面,是放在自身网站的JS里面,通过这个JS去调用其他广告JS,在JS里调用其他JS和直接在页面中调用JS,写法是不同的,所以这个过滤会无效。
2.使用 #exd# 的方式个人感觉效率不高,因为会先下载这个被过滤的文件,然后再进行内容的正则替换,这个过程比较浪费时间。而1.0的规则是直接拦截网址,根本没有下载文件的过程,个人感觉效率会高点。
作者: Aycox    时间: 2009-5-27 14:19

内容过滤同样可制成通用规则,一般可改进下针对<script的写法,当然内容过滤毕竟有局限性,URL过滤还需改进,不过常见广告商的广告外链脚本大都是<scr...一类,我本人就是用的#ex#通用规则。

脚本广告生成有个流程,在其中各个环节过滤都可,一般的哪个最具特征有通用性就过滤哪个,不一定看到的广告是a站就一定要过滤名字为a脚本。内容过滤对脚本嵌套生成的脚本也有效。
作者: needed    时间: 2009-5-29 12:53

当前的2.x的过滤方式还不是最好的。
因为在写一些规则的时候。 有一种满足不了自己特殊要求的感觉。

期待一下tw3吧。。
另外。 tw2 的方式是不下载广告的。 当然。 相应的html文件还是会下载的。 而1.x的方式是先下载。再隐藏。

  打个比方, 你怎么 才能知道一幅图片是黄色? 你只有看完了才知道吧。
正如过滤。 你只有下载了那个 html文件。 当中如果含有广告js地址,才会把js那个标签去掉。 实际上。 js文件包含的广告是不会下载的




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