世界之窗论坛's Archiver

xlez 发表于 2008-5-26 09:32

过滤iframe病毒

以前有位高手写过过滤iframe病毒的代码,不过考虑的不全面,这里我写的一段代码更准确(考虑到style调用的样式及display:none),不过只对html内插入的iframe有效,对于js调用的iframe无效(因为用js可以任意写iframe,无法找到规则)。[code]#ex#<iframe[^>]*?(\b(width|height)\s*[=:]\D*\d(?!\d)|display\s*:\s*none|visibility\s*:\s*hidden)[^>]*?>\s*<\/iframe>###<b style="color:red">[iframe]</b>[/code]

[[i] 本帖最后由 小絮 于 2008-5-27 00:52 编辑 [/i]]

小絮 发表于 2008-5-26 12:33

欢迎大家讨论

mutalisker 发表于 2008-5-26 12:36

顶原创

xlez 发表于 2008-5-26 12:48

再测试了一下发现没有考虑到marginwidth:cold: ,现在改好了。[code]#ex#<iframe[^>]*?(\b(width|height)[=:]\D*\d(?!\d)|display:\s*none)[^>]*?>\s*<\/iframe>###<b style="color: red;">[iframe]</b>[/code]

qionglaoer 发表于 2008-5-26 13:28

不错,谢谢分享!

needed 发表于 2008-5-26 14:03

非常谢谢楼主的 分享..

对于黑名单只能匹配源文件的情况..
  黑名单想过滤掉 高度.宽度小于10的情况4个字.  有心无力..

**** Hidden Message *****

会的人大概都明白我的意思...

xlez 发表于 2008-5-26 14:49

:@  自己考虑还不够全面height =1等号前有空格没有考虑进去,我再改,
#ex#<iframe[^>]*?(\b(width|height)\s*[=:]\D*\d(?!\d)|display:\s*none)[^>]*?>\s*<\/iframe>###<b style="color: red;">[iframe]</b>

以下测试通过
1<iframe marginheight=11 height=12 src='xx'></iframe>
2<iframe height =2 src='xx'></iframe>
3<iframe height = '112' src='xx'></iframe>
4<iframe height = "112" src='xx'></iframe>
5<iframe style="height:6px"></iframe>
6<iframe style="display:none"></iframe>
7<iframe style=" height : 6px"></iframe>
8<iframe height = 6></iframe>

狄烁stec 发表于 2008-5-26 15:08

#ex#<iframe [^>]*(?:width|height)\s*=(?:"|'|\s*)?1?\d(?:"|'|\s)[^>]*></iframe>###很小的iframe

另外,楼主的规则使用非捕获括号就更好了.

kinki 发表于 2008-5-26 16:01

这是什么啊 用了以后 新浪评论看不了了

needed 发表于 2008-5-26 16:57

楼上不明白我的意思...

我的意思是..还有很多很多种情况.. 黑名单这种匹配已知的方式不能完全移除.. 明白么..

不是很说针对某个特定的代码过滤不了..

haokeyy 发表于 2008-5-26 17:15

对加过密的有效不:ding:

狄烁stec 发表于 2008-5-26 17:36

没办法,只能针对大部分情况写规则,其他的遇到一个解决一个吧...:sweat:

ujuj127 发表于 2008-5-26 20:28

楼上咋这么多iframe过滤规则
麻烦楼主整理下呢,这类规则重复有没冲突?

xlez 发表于 2008-5-26 23:21

不能改帖子真麻烦:sad: ,麻烦版主把我前面的帖子都删除了,留下这个代码就可以了
[code]
#ex#<iframe[^>]*?(\b(width|height)\s*[=:]\D*\d(?!\d)|display\s*:\s*none|visibility\s*:\s*hidden)[^>]*?>\s*<\/iframe>###<b style="color:red">[iframe]</b>
[/code]

xwgod 发表于 2008-5-27 13:48

积分高于100才能看:cold:

yjwgi 发表于 2008-5-27 17:17

帖子可以改啊。
顶楼主的规则

ujuj127 发表于 2008-5-27 19:13

[attach]46416[/attach]



google video过滤掉了, 咋整?

ujuj127 发表于 2008-5-27 20:10

兼容性差了点啊楼主
已知的是googlevideo出问题
还有163邮箱无法添加附件

taitan001 发表于 2008-5-27 20:40

第一次有人发这个规则时
我就用
后来发现误杀好多  马上撤掉

xlez 发表于 2008-5-27 22:11

代码毕竟不是人脑,它是按照一定的规则来处理,它当然不能判断网站iframe是可疑还是安全的,只要满足要求它就会屏蔽。虽然还是有很多正规站在用iframe做统计。
此代码适用于当你浏览那些陌生的站,比如xx站等,能作为提示用。当然对于普通人可能觉得很麻烦,其实选择theworld的安全浏览模式就够了,当发现运行可疑程序会提示。
这个代码就当作大家研究用吧。:lol:

needed 发表于 2008-5-30 07:09

楼主辛苦了.:lol: ..

bluerain09 发表于 2008-5-30 14:21

用126邮箱时有问题

用126写信时,不显示写正文的框啊,不能写信了,且邮箱左上角有个红色的[iframe],请看下图:

xlez 发表于 2008-5-31 09:05

你添加到白名单就可以了

lonre 发表于 2008-5-31 22:46

请问与 [安全补丁] 安全浏览必备规则(首发霏凡论坛)2.9更新提示 [url]http://bbs.ioage.com/cn/viewthread.php?tid=50978&extra=page%3D2%26amp%3Bfilter%3D0%26amp%3Borderby%3Ddateline%26amp%3Bascdesc%3DDESC[/url]

这个哪个更好呢,我得用哪个呢,还是两个都用?

页: [1] 2

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