昨天晚上写的类,进行了很多测试。
1、发现对HTML的过滤过于严格,而且发现本人的思路还很不清晰,而且HTML脚本涉及的标签甚多,所以今天换了文本编辑器,所有HTML转化交给文本编辑控件做。
2、虽然注入脚本不用担心了,但是挂马问题还没有解决,查了以下资料,有人这么总结道:
"在做一些网站(特别是bbs之类)时,经常会有充许用户输入html样式代码,却禁止脚本的运行的需求, 以达到丰富网页样式,禁止恶意代码的运行。
当然不能用 htmlencode 和 htmldecode 方法,因为这样连基本的html代码会被禁止掉。
我在网上搜索,也没有找到好的解决办法,倒是收集了一些脚本攻击的实例:
1. <script>标记中包含的代码
2. <a href=javascript:...中的代码
3. 其它基本控件的 on...事件中的代码
4. iframe 和 frameset 中载入其它页面造成的攻击
有了这些资料后,事情就简单多了,写一个简单的方法,用正则表达式把以上符合几点的代码替换掉: "
摘自:http://www.cnblogs.com/skylaugh/archive/2006/09/01/492476.html
然后就是写正则表达式呗,楼上那个地址也有写好的正则表达式,但是为了锻炼下鄙人的逻辑思维能力,决定自己写一下~
1、<script>
实际上是
<script ...... </script>之间的内容,ok~
regex如下:
<scrip.*</script>
2、<a href=javascript:...中
regex:href=.*javascript
3、iframe
<iframe.*</iframe>
然后把他们加入到过滤器当中吧~