Page 1 of 1

让规则不在iframe里生效

Posted: Feb 23 2009, 18:45
by imsheng
写了个页面过滤的规则,但是不想这个规则在iframe里的页面生效。要怎样调整?

Re: 让规则不在iframe里生效

Posted: Feb 23 2009, 20:30
by phoenix
1、写一个关于iframe的规则,把iframe url加到一个blockfile里
2、原过滤规则检查url是否在该blockfile里

Re: 让规则不在iframe里生效

Posted: Feb 24 2009, 23:52
by imsheng
呀,phoenix 真是论坛里的守护神!没有你解决不了的问题嘛。

这样一来就要手动添加了。我原以为可以自动处理。但也算是一个解决办法。谢谢了。

btw,大家都去学郑码输入法呀。很好用。

Re: 让规则不在iframe里生效

Posted: Feb 25 2009, 10:14
by phoenix
phoenix wrote:1、写一个关于iframe的规则,把iframe url加到一个blockfile里
这就是自动的啊。

Re: 让规则不在iframe里生效

Posted: Feb 27 2009, 12:10
by Ray4
phoenix wrote:
phoenix wrote:1、写一个关于iframe的规则,把iframe url加到一个blockfile里
这就是自动的啊。
是检测iframe标签之后再将url属性自动添加进blockfile吗?

Re: 让规则不在iframe里生效

Posted: Feb 27 2009, 12:28
by phoenix
是啊。
怪我说得不清楚,这么多人没看懂。 :oops:

Re: 让规则不在iframe里生效

Posted: Feb 27 2009, 14:37
by ddbb
是$ADDLST吧.......

这个ADD了之后 需要reload Lists么

Re: 让规则不在iframe里生效

Posted: Feb 27 2009, 15:31
by phoenix
用$ADDLST命令添加的记录似乎不需要reload list,至少那种只存在于内存中的临时blockfile是不需要reload的,请参考 http://forum.proxomitron.cn/viewtopic.php?f=5&t=92#p460

Re: 让规则不在iframe里生效

Posted: Feb 27 2009, 16:44
by Ray4
好像行不通
比如:A里有iframe指向B,此时规则会把B的url写到blocklist里,当没有将B从blocklist里清空的这段时间访问B,则此规则不会对B生效(现在不是从iframe里访问)。

不知道我理解的是否有问题

似乎可以用URL Commands解决,将iframe里的地址修改一下应该可以

Re: 让规则不在iframe里生效

Posted: Feb 27 2009, 23:00
by phoenix
Ray4 wrote: 好像行不通
比如:A里有iframe指向B,此时规则会把B的url写到blocklist里,当没有将B从blocklist里清空的这段时间访问B,则此规则不会对B生效(现在不是从iframe里访问)。

不知道我理解的是否有问题
你理解的没错,会有这样的问题。
这要看imsheng的需求了,如果他不想过滤在iframe中的B,很有可能他也不想过滤单独访问时候的B,那样的话此方案还勉强可行。
Ray4 wrote:似乎可以用URL Commands解决,将iframe里的地址修改一下应该可以
没有能单独免过滤某条规则的URL Command。
不过,我们可以修改iframe里的地址,添加一段特殊的字符串,另外增加一个http header filter检测该字符串并设置一个全局变量,然后在原过滤规则中检测该变量来决定是否过滤。