实在没道理啊,请求帮助。

新手入门、经验交流

Moderator: cre

Forum rules
  • 软件自带帮助是最好的入门教程,请仔细阅读;在您掌握最基本知识前,我们没法帮助您
  • 提问前请先查阅软件帮助文件和论坛相关讨论
  • 查阅软件帮助和论坛相关讨论即可解决的问题帖将直接删除,以免浪费他人时间
  • 请学会如何提问,尽量将问题描述清楚,不明确的提问将被直接删除
Post Reply
gaogao9988
Posts: 17
Joined: Sep 19 2009, 19:30

实在没道理啊,请求帮助。

Post by gaogao9988 »

规则如下:

Code: Select all

[Patterns]
Name = "Kill AdScript"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)"
Bounds = "$NEST(<script,</script>)"
Limit = 9000
Match = "$LST(AdScriptPOP)"
Replace = "<!-- Kill AdScript -->"
list如下:

Code: Select all

$URL(*.aastocks.com/)*hkg.aastocks.com/ad/banner*
*.aastocks.com/aastocks/banner/image/*
*.eastmoney.com/main/adfshow*
*cj.qidian.com/svnad/*
*cj.qidian.com/Flash/*.swf*
*.allyes.com/*.swf*
*eiv.baidu.com/*.swf*
需要过滤的html语言如下

Code: Select all

<div class="DH16"> 
 
 <script language="javascript" type="text/javascript">var SNDAADAltern1= new SNDAADAltern(["<div width='468' height = '60' style='text-align:center' id='div_10005667'>  <EMBED SRC='http://cj.qidian.com/Flash/20090925_44.swf'  wmode='transparent' WIDTH='468' HEIGHT='60' TYPE='application/x-shockwave-flash' QUALITY='high'></EMBED></div>"]);</script><!--起点广告首页通栏一--> 
 
 </div> 
结果就是过滤不了,我死活想不明白原因,最后通过调试发现只要将list中的*eiv.baidu.com/*.swf*,前面的*去掉变成eiv.baidu.com/*.swf*,就好了。问题是,这毫无道理啊,这eiv前面的*关什么事呢?

而且如果我将*eiv.baidu.com/*.swf*改成*abc/*.swf*,那也是能过滤掉的,真是太古怪了。难道是bug?

太古怪了,如果我将*eiv.baidu.com/*.swf*改成*.baid/*.swf*,是可以过滤的,但如果改成*.baidu/*.swf又不可以了,改成*.baida/*.swf也不可以,只要多一个字就不可以。

非常的诡异,最后我通过这种方式解决了这个问题将*eiv.baidu.com/*.swf*,改为*eiv.baidu .com/*.swf*,也就是说在baidu后加了一个空格。

虽然搞定了这个问题,但毫无道理,感觉应该是 Proxomitron非常莫名其妙的bug。
不夜侯
Posts: 101
Joined: Jul 29 2009, 16:22

Re: 实在没道理啊,请求帮助。

Post by 不夜侯 »

Match = "$LST(AdScriptPOP)" 改成 Match = "*$LST(AdScriptPOP)*" ,这样就不用在AdScriptPOP中的每一条关键字前后都写 * 了。

过滤那段html代码时,AdScriptPOP中生效的是cj.qidian.com/Flash/*.swf这一条,和eiv.baidu.com/*.swf没关系。这一段内容中哪有baid什么的?你的AdScriptPOP没写规范吧?
gaogao9988
Posts: 17
Joined: Sep 19 2009, 19:30

Re: 实在没道理啊,请求帮助。

Post by gaogao9988 »

呵呵,楼上的可以自己测试一下,我那个文件,专门查看了隐藏符号,只有回车换行符,没有多余的东东,应该是规范的。

list中eiv.baidu.com那一段,我已经测试了,只要是"baidu"这一块是5个字符的就肯定不行,否则就行。所以我就在baidu后加了个空格,结果果然行了。

哎这一段根本就不相关嘛。要不是怎么说非常诡异呢!!
ddbb
Moderator
Posts: 425
Joined: Jan 07 2008, 13:30

Re: 实在没道理啊,请求帮助。

Post by ddbb »

过滤你那段代码的是
*cj.qidian.com/Flash/*.swf*

不是你说的那段....

如果你用block list的时候 无法确认是哪句起作用的话 建议你学学我.....
[Patterns]
Name = "Delete JavaScript 2009.02.10 [ddandyy]"
Active = TRUE
URL = "$TYPE(htm)"
Bounds = "$NEST(<script\s,</script>)"
Limit = 250
Match = "*$LST(JSDelete)*"
Replace = "<!-- Delete JavaScript 2009.02.10 [ddandyy] [\0] -->\r\n"
img.ak.impact-ad.jp/imd/bta_both.js $SET(0=http://img.ak.impact-ad.jp/imd/bta_both.js)
pagead2.googlesyndication.com/pagead/show_ads.js $SET(0=http://pagead2.googlesyndication.com/pagead/show_ads.js)
a.alimama.cn/inf.js $SET(0=http://a.alimama.cn/inf.js)

P.S: 另外 你能说说你为什么要用 Multi = TRUE 么......反正都是DELETE了 还需要让别的规则改什么?????
gaogao9988
Posts: 17
Joined: Sep 19 2009, 19:30

Re: 实在没道理啊,请求帮助。

Post by gaogao9988 »

过滤你那段代码的是
*cj.qidian.com/Flash/*.swf*

不是你说的那段....
ddbb兄,真是因为如此,所以我才说非常诡异。

过滤的是*cj.qidian.com/Flash/*.swf*这段,你说为啥非得逼着我去改baidu那段,而且只要baidu这里不是5个字符就肯定行了,就像我测试的,只要在baidu后加个空格就行了。

哎,实在非常诡异。大家自己去测试一下就明白了。

和是不是Multi没关系,不管multi是不是真,都有这个bug。
gaogao9988
Posts: 17
Joined: Sep 19 2009, 19:30

Re: 实在没道理啊,请求帮助。

Post by gaogao9988 »

再报告一下我的测试结果。我将list增加3行:

Code: Select all

$URL(*.aastocks.com/)*hkg.aastocks.com/ad/banner
*.aastocks.com/aastocks/banner/image/
*.eastmoney.com/main/adfshow
*cj.qidian.com/svnad/
*cj.qidian.com/Flash/*.swf
*.allyes.com/
*eiv.baidu .com/*.swf
[^.]++.google-analytics.com/
*.clickeye.com.cn/
*.adsame.com/
结果又不行了,于是我将后面新增加的3行中间也加入空格如下,又行了。

Code: Select all

[^.]++.google-analytics .com/
*.clickeye .com.cn/
*.adsame .com/
User avatar
phoenix
Site Admin
Posts: 526
Joined: Dec 29 2007, 16:27

Re: 实在没道理啊,请求帮助。

Post by phoenix »

这个问题以前讨论过,请参考: http://forum.proxomitron.cn/viewtopic.php?f=2&t=19

修改 blockfile 的时候,你可以从 http://local.ptron/.pinfo/lists/ 中观察到hash的变化。
gaogao9988
Posts: 17
Joined: Sep 19 2009, 19:30

Re: 实在没道理啊,请求帮助。

Post by gaogao9988 »

恩,总算找到原因了,phoenix不愧是专家
Post Reply