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

Javascript
jquery控制listbox中项的移动并排序
Jquery操作Select 简单方便 一个js插件搞定
JQuery SELECT单选模拟jQuery.select.js
用document.documentElement取代document.body的原因分析
Marquee配合DIV实现的文字滚动效果代码
JS溶解形式的文字切换特效
文字在网页上下浮动 学习可以不建议用
[原创]一段时间以后切换显示的广告代码
传智播客学习之JavaScript基础篇
javascript 带有滚动条的表格,标题固定,带排序功能.
jquery 可排列的表实现代码
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
jQuery checkbox全选/取消全选实现代码
javascript 去字符串空格终极版(支持utf8)
flash 得到自身url参数的代码
Dojo 学习笔记入门篇 First Dojo Example
JavaScript 语法集锦 脚本之家基础推荐
Javascript 中文字符串处理额外注意事项
JavaScript的eval JSON object问题
JavaScript OOP类与继承

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 320 ::
收藏到网摘: 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))))
这样就是单纯地过滤脚本而已,所谓过滤“危险脚本”应该是能够判断哪些属于“危险"脚本,不危险的就不过滤才对……那可就难办了,相当于防火墙了。