当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript过滤危险脚本方法

Javascript
Javascript实例教程(17) 使用Javascript的数学函数
JavaScript 小技巧(第六集)
Javascript实例教程(16) 日期函数
javascript中如何实现浏览器上的右键菜单
Javascript实例教程(21) OLE Automation(7)
JavaScript 小技巧(第二集)
Javascript设计网页中的下拉菜单
用JavaScript使链接按钮不断变化
如何制作浮动广告
JavaScript[对象.属性]集锦之一
将金额小写转化成汉字大写的实现过程
Javascript制作浮动的工具条
JavaScript[对象.属性]集锦之二
JavaScript 小技巧(第五集)
JavaScript 小技巧(第七集)
完美解决一个事件激活多个函数
JavaScript入门学习之一
在客户端把表格行变成列,列变成行并保持TD的属性不丢失
用 Javascript 实现的“Dual listbox”(双向选择器)
我与Javascript 随笔(一)(献给所有爱好Javascript的朋友)

Javascript 中的 javascript过滤危险脚本方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 81 ::
收藏到网摘: n/a

脚本藏身之处不过有四: 1、<script>标签、<link>标签、<style>标签、iframe标签 2、on开头的标签属性 3、javascript(vbscript)伪协议 4、css的epression 下面是他们的字符串规则:
1、<(script|link|style|iframe)(.|\n)*<\/\1>\s*
2、\s*on[a-z]+\s*=\s*("[^"]+"|'[^']+'|[^\s]+)\s*(?=>)
3、\s*(href|src)\s*=\s*("\s*(javascript|vbscript):[^"]+"|'\s*(javascript|vbscript):[^']+'|(javascript|vbscript):[^\s]+)\s*(?=>)
4、epression\((.|\n)*\);?
了解他们的规则后,抓虫行动就水到渠成。
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

这样调用就可以
k1(k2(k3(k4(str))))
这样就是单纯地过滤脚本而已,所谓过滤“危险脚本”应该是能够判断哪些属于“危险"脚本,不危险的就不过滤才对……那可就难办了,相当于防火墙了。