世界之窗论坛's Archiver

ashuai 发表于 2007-3-18 12:45

挡不住的弹出窗口

这个站 [url=http://www.iduba.com/]http://www.iduba.com/[/url]

主要代码在 [url=http://www.iduba.com/js/2.js]http://www.iduba.com/js/2.js[/url]

[code]function setupClick() {
        if (!poped && !setupClickSuccess){
                if (window.Event)
                        document.captureEvents(Event.CLICK);
                prePaypopOnclick = document.onclick;
                document.onclick = gopop;
                setupClickSuccess=true;
        }
}

function gopop() {
        if (!poped) {
                popwin = window.open("http://www.365.com",'Fboat_pop','top=0,left=0,width=780,height=480,toolbar=yes, menubar=yes, scrollbars=yes, resizable=yes, location=yes, status=yes,center:no');
                if (popwin) {
                        popwin.blur();
                        poped = true;
                        setpoped();
                }
        }
        if (typeof(prePaypopOnclick) == "function") {
                prePaypopOnclick();
        }
}
[/code]

anderson 发表于 2007-3-18 14:22

直接打开,没有弹出窗口

囚中城 发表于 2007-3-18 14:26

楼主说关了那窗口后,弹出的窗口?
不关窗口,开着不弹窗口。用的置顶的黑名单


/(\.|\/|_|")(ads?(\d|code|gif|graph|list|log|puba|file|sence|site|show)?|(ali)?union(sky|sys)?|all(4ad|yes)|bdun|banner|cp(c|ro)|(guan|my|newhua)?gg(ao)?|keyrun|p(4|f)p|sms|sp(onsor|code)|themis|ulink(js|dir)|un|usmsweb|xc)(s)?(\d)*(\.|\/|_)/
/[\W_]ads?(?!=&)(banner|click|flow|frame|ima?ge?|log|serv(er|e)?|stream|type|view|vert(ising|ise?ment)?|trix|xchange|wrapper)?s?[\W\d_]/
/(\.|\/|_)(soft|hot)?ads?(s..|img|vert|rotator|view|bot|c_|client|council|gif|graph|images|info|log|pic)?(\.|\/|_)/
/(\.|\/|_|")(51yes|7town|adpolestar|adjs|co(ope|rpo)rate|ggg|hserver|(g|ma)img|is686|keyrun|stats?|ukaka|zframe|zview)(\.|\/)/
/(online(\d)|(\w){1,4})\.(265|ete).+(_\d+|show)(.php)/
/(dds|biz(\d))\.(sandai|sogua).+(gif|htm|jpg)/
/\.(ku6|mumayi).+(\d{2,}|head\d?)\.htm/

anderson 发表于 2007-3-18 14:28

汗一个,是关闭后才弹出的窗口:@

elkay 发表于 2007-3-18 14:42

有2个js脚本控制的,把下面的内容加入黑名单就可以了

[code]#exd#*.iduba.com*#<script[^>]*(?:2|default)\.js.*?><\/script>###<!--Ad blocked by TheWorld2-->[/code]

[[i] 本帖最后由 elkay 于 2007-3-18 14:55 编辑 [/i]]

tinham 发表于 2007-3-18 14:45

#exd#*.iduba.com*#<script[^>]*(?:2|default).js.*?><\/script>###<!--Ad blocked by TheWorld2-->

那个“.”要不要加个“\”啊?“.”在正规里面不是要在前面加转义字符“\”的吗?为什么不用加?这是什么原因?

#exd#*.iduba.com*#<script[^>]*(?:2|default)\.js.*?><\/script>###<!--Ad blocked by TheWorld2-->

不是这样吗?

[[i] 本帖最后由 tinham 于 2007-3-18 14:49 编辑 [/i]]

elkay 发表于 2007-3-18 14:54

呵呵,眼光好犀利啊,我是没注意到,实际上是因为"."在正则中表示匹配除换行符以外的所有字符,当然也能匹配到".",不过还是写成"\."的好,我这就去改,呵呵

tinham 发表于 2007-3-18 15:19

同理,我也发现在你的页面广告过滤规则那里也发现很多不加转义字符“\”的,“.”和“/”前面都要加“\”吧,好像置顶帖那里都没有加哦!!

elkay 发表于 2007-3-18 15:33

谢谢建议,以后会注意了,呵呵,其实我测试的时候只要通过就不管了,看来以后要写正规一点了

:cold: :cold: :cold:

kkhkkh 发表于 2007-3-18 23:26

似乎彻底防止弹出窗口不是那么容易。

elkay 发表于 2007-3-18 23:28

并不是不可以,但是彻底阻止弹出窗口会造成误杀,所以只能是一个折衷的方案,遗漏的弹窗广告再用黑名单或者页面过滤来补充

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.