返回列表 发帖

[过滤规则] 过滤iframe病毒

以前有位高手写过过滤iframe病毒的代码,不过考虑的不全面,这里我写的一段代码更准确(考虑到style调用的样式及display:none),不过只对html内插入的iframe有效,对于js调用的iframe无效(因为用js可以任意写iframe,无法找到规则)。
  1. #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>
复制代码

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

评分人数

  • 小絮

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

TOP

  自己考虑还不够全面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>

TOP

不能改帖子真麻烦 ,麻烦版主把我前面的帖子都删除了,留下这个代码就可以了
  1. #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>
复制代码

TOP

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

TOP

你添加到白名单就可以了

TOP

作用是相同的,但第一个考虑的要周全一些,只用一个就可以了。

TOP

返回列表