javascript过滤危险脚本方法
作者:
脚本藏身之处不过有四:
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)*\);?
了解他们的规则后,抓虫行动就水到渠成。
test
</textarea>
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
test
</textarea>
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
expression()
test
</textarea>
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
这样调用就可以
k1(k2(k3(k4(str))))
这样就是单纯地过滤脚本而已,所谓过滤“危险脚本”应该是能够判断哪些属于“危险"脚本,不危险的就不过滤才对……那可就难办了,相当于防火墙了。
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 全选 注:如需引入外部Js需刷新才能执行]
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
这样调用就可以
k1(k2(k3(k4(str))))
这样就是单纯地过滤脚本而已,所谓过滤“危险脚本”应该是能够判断哪些属于“危险"脚本,不危险的就不过滤才对……那可就难办了,相当于防火墙了。
您可能感兴趣的文章:
- javascript实现网页屏蔽Backspace事件,输入框不屏蔽
- JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
- javascript屏蔽右键代码
- JavaScript屏蔽指定区域内右键菜单
- JavaScript 关键字屏蔽实现函数
- javascript 屏蔽鼠标键盘的几段代码
- 在textarea中屏蔽js的某个function的javascript代码
- 屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
- 实用javaScript技术-屏蔽类
- javascript实现划词标记+划词搜索功能
- JavaScript实现自动对页面上敏感词进行屏蔽的方法