返回列表 发帖
原帖由 elkay 于 2008-1-15 00:35 发表 http://bbs.ioage.com/cn/images/common/back.gif
我都说了,只有根据实际情况才能真正想到解决问题的办法,通用性的考虑不可能完美的,你说的情况确实存在,但是不会影响到任何东西,因为根据不同的情况可以修改规则来达到目的,你说的mt能实现这种效果,但是他一样不能做到百分百通用,因为这些关键字必须要有实际的例子才能加上,你不可能一开始就知道那些关键字是你要过滤的,只能是看到一个加一个,这就解决问题了,看到一个就可以根据实际情况来改变规则啊,最后大家依然是在一条线上啊

你是明白 bound 的作用了,但还是不明白 bound 的重要性。有 bound 和没有 bound 是有天渊之别的,举个例:

在 mt/proxomitron,透过 bound 一条简单规则便能准确过滤任何网站上所有含 doubleclick, googlesyndication, hitbox 的 script,不用看 script 的代码,也不用对个别网站添加规则。
bound=<script.*?</script>
match=.*(doubleclick|googlesyndication|hitbox).*

在 tw 呢?在 A 站看到 doubleclick 便需要根据情况加一条规则,在 B 站看到 googlesyndication 又需要根据情况加一条规则,在 C 站看到 hitbox 又再需要根据情况加一条规则... 但在 A 站又可以有 5 条不同的 doubleclick script (像 www.nba.com),在 B 站又可以有 doubleclick,googlesyndication,hitbox 3 条情况不同的 script (像 sports.espn.go.com)...你说需要添加多少条规则了?即使你能够在日常浏览的网站都根据情况准确过滤了,但当广告商更改 script 的源码时,即使仍然是 doubleclick, googlesyndication, hitbox,情况还是改变了,你的规则可能已经失效,或者出错。你需要找出失效/出错的规则,再根据新的情况修改...你说需要花多少精神时间?

bound 是 proxomitron 根据长期用户反馈的实际需要添加的。看看透过 bound,下面的 1 条 MT2 规则可以有多强大 - 通用 (任何网站适用),准确 (保证匹配对应的 <script...</script>,不用考虑个别情况,不怕 script 代码更改),方便 (不用查看 script 源码,添加新广告商像添加黑名单般容易)...

bound=<script.*?</script>
match=.*(.doubleclick.net|.googlesyndication.com|.superstats.com|.surfaid.ihost.com|.falkag.net|.hitbox.com|.specificpop.com|.112.2o7.net|.superstats.com|.addfreestats.com|.adserver.com|.advertising.com|.advertwizard.com|.dealtime.com|.fastclick.com|.gostats.com|.nedstat.nl|.nedstatbasic.net|.questionmarket.com|.spylog.com|.valueclick.com|.sitemeter.com|.extreme-dm.com|.survey-poll.com|.thecounter.com|.teocash.com|ShowBurstAd|adrevenue|adstream|adserver|admentor).*

不断提出 TW 这个过滤上的不足,是希望开发组能够明白 bound 的作用及重要性,然后加以能改进。记得开发组当初对这种文本过滤方式不太热衷,是用户(包括我)多番要求才加入吧。但既然加入了,希望能够做到符合一贯使用文本过滤的用户的基本需要。

TOP

回复 34# 的帖子

我都说了,只有根据实际情况才能真正想到解决问题的办法,通用性的考虑不可能完美的,你说的情况确实存在,但是不会影响到任何东西,因为根据不同的情况可以修改规则来达到目的,你说的mt能实现这种效果,但是他一样不能做到百分百通用,因为这些关键字必须要有实际的例子才能加上,你不可能一开始就知道那些关键字是你要过滤的,只能是看到一个加一个,这就解决问题了,看到一个就可以根据实际情况来改变规则啊,最后大家依然是在一条线上啊

TOP

唉 楼主说了些现在就使用的方法 本来这个exd规则就是先域名 后内容的
只是 正则 实在不能要求它能十分快
另IE的渲染 也没有FF快  特别是出现特殊代码时IE假死 崩溃的几率比FF高很多了
最快的还是Opera(连接能力比IE和FF强不少 针对内容简单的网页速度会十分快)

TOP

这么高深啊 还是用就是了 问题留给你们解决了

TOP

原帖由 elkay 于 2008-1-2 19:10 发表 http://bbs.ioage.com/cn/images/common/back.gif
就如你给的网站,要所有网站通用写成通用规则就可以
  1. <script[^>]*?>[^>]*?hitbox[\s\S]*?<\/script>
复制代码

如果在 "hitbox" 之前有 ">",比如 "if(x>y)",你的规则就没有效了。我说的是能够通用的规则,并非针对个别网站的个别脚本的规则。

我就不明白,这些原本正则表达式都可以做到的,mt干嘛非要自己搞一套东西出来

你的规则必须要靠类似 "[^>]*?" 这样的 expression 来确保不会错误匹配红色的 tag <script>...</script><script>...hitbox...</script>,但这样做必须要知道 script 里面的代码,只能针对已知的 script,不能通用。

希望开发组会明白。

TOP

回复 32# 的帖子

就如你给的网站,要所有网站通用写成通用规则就可以
  1. <script[^>]*?>[^>]*?hitbox[\s\S]*?<\/script>
复制代码
我就不明白,这些原本正则表达式都可以做到的,mt干嘛非要自己搞一套东西出来

TOP

原帖由 elkay 于 2008-1-2 18:24 发表 http://bbs.ioage.com/cn/images/common/back.gif
我的意思是你给个实际页面,我不知道你要过滤的跟我认为的是不是一个东西

是不是类似这种?
  1. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
复制代码
是的话就简单了

不是 external script,是 inline script,并且需要所有网站通用的:
在 TW 要怎样写才能过滤这些统计 JS (需要包括 inline JS,即是 <script>...</script>,比如像 http://sports.espn.go.com/nba/index 的 hitbox 统计)

[ 本帖最后由 AY 于 2008-1-2 19:03 编辑 ]

TOP

原帖由 285900537 于 2007-12-28 10:37 发表 http://bbs.ioage.com/cn/images/common/back.gif



如何在theworld.ini配置文件内进行域名匹配?
如何在百千条(目前我还只有四百多条的样子)中搜寻相匹配域名的规则?
使用exd对17173写100条规则,然后再为cmfu写5条规则,那么TheWorld是进行105次域名匹配还 ...


以前用数据库foxpro的时候,如果记录少的话,我喜欢用loca,比seek 少不了多少时间,差那几毫秒,但不用建索引呀。
方便很多。当然记录数一多,这样就不行了。

看看现在的规则有多少条记录?不过就一两千条吧,而且都是简单的记录。以现在的电脑速度,根本可以无视,可以认为是0秒时间内完成的,难道你非常计较那几百毫秒时间吗?

所以,在这个速度的争论上,是没必要的。功夫花在其它地方更好。

TOP

回复 29# 的帖子

我的意思是你给个实际页面,我不知道你要过滤的跟我认为的是不是一个东西

是不是类似这种?
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>

是的话就简单了
  1. <script[^<]*?google-analytics[\s\S]*?<\/script>
复制代码
其他的统计链接只需要维护google-analytics这部分的关键字就可以了

TOP

原帖由 elkay 于 2008-1-2 18:09 发表 http://bbs.ioage.com/cn/images/common/back.gif
至于统计,你给个实际页面,然后要告诉我要实 ...


再多举个例子说清楚一点。
我在任何网站都会过滤统计用的 js,因为这些 js 浪费 cpu,而且往往还要下载图档,影响页面加载时间。

在 proxomitron 我是用下面的过滤规则:
bound=$NEST(<script,</script>)     bound 确保只会匹配对应的 <script 及</script>
match=*(hitbox.com|qksrv.net|112.2o7.net|superstats.com|falkag.net|google-analytics.com|cyber-traffic.net|estat.com|surfaid.ihost.com|nedstat.nl|nedstatbasic.net|questionmarket.com|spylog.com|thecounter.com|survey-poll.comsageanalyst.net|hotlog.ru|addfreestats.com|bizrate.com|count-down.tv|counter.yadro.ru|extreme-dm.com|top.list.ru|count.e-city.tv|sageanalyst.net)*

在 maxthon 2.0 我可以用下面的过滤规则:
bound=<script.*?</script>     bound 确保只会匹配对应的 <script 及</script>
match=.*(hitbox.com|qksrv.net|112.2o7.net|superstats.com|falkag.net|google-analytics.com|cyber-traffic.net|estat.com|surfaid.ihost.com|nedstat.nl|nedstatbasic.net|questionmarket.com|spylog.com|thecounter.com|survey-poll.comsageanalyst.net|hotlog.ru|addfreestats.com|bizrate.com|count-down.tv|counter.yadro.ru|extreme-dm.com|top.list.ru|count.e-city.tv|sageanalyst.net).*

在 TW 要怎样写才能过滤这些统计 JS (需要包括 inline JS,即是 <script>...</script>,比如像 http://sports.espn.go.com/nba/index 的 hitbox 统计) 而不会出现我在 20楼 及 24楼 提出的错误及失效问题? 我十分肯定没有 bound 的话是不可能做得到的。


http://bbs.ioage.com/cn/viewthre ... p;extra=&page=2 39 楼

TOP

回复 27# 的帖子

随手找了个有flash的页面,按你的说法写了个例子
匹配除d27cdb6e-ae6d-11cf-96b8-444553540000之外的object
  1. <object[^>]*?clsid:(?!d27cdb6e-ae6d-11cf-96b8-444553540000)[\s\S]*?<\/object>
复制代码
至于统计,你给个实际页面,然后要告诉我要实现什么效果

TOP

原帖由 elkay 于 2008-1-2 17:28 发表 http://bbs.ioage.com/cn/images/common/back.gif
正则表达式中
(?!pattern)和^
可以匹配除特定字符之外的字符

能提供完整规则么?

至于你说的统计,我实在看不出有什么难度?
只要有统计链接,这跟普通黑名单没有任何区别

问题是要删除 inline 的统计 script。

TOP

返回列表