1. 说明问题
也许读者看到博客的标题,会觉得有点疑惑。什么叫存储型跨站脚本编制。这个名字有点高大上了。其实也是,我们在网站的有些文本框中输入javaScript的代码或html的标签代码,我们本想作为信息存储,但是这样的文本却成为了代码执行出来。可能这样说读者会有点迷惑。我们来看下面的一个例子。
1) 在系统的添加信息的文本框中输入” <img src=1 οnerrοr=alert(3)>.
2) 这条信息保存到数据库后,也会在网站的某个列表中显示出来,这时候,你没有对这条信息作处理,结果也就是变成了系统的可执行代码实现。页面会直接弹出一个‘3’的弹出框。
这下读者应该知道它是谁了吧,也应该知道问题的严重性了吧。可别说,这样的问题也曾在大的IT公司出现过。轻者,可能是影响用户使用的体验感罢了,但是严重的话,作为黑客故意捣乱的话,那么结果大家就可想而知道了。下面笔者说明应该如何避免这样的问题出现我们的系统中。
2. 处理问题
这个问题处理的方法有很多,可用使用第三方的框来协助我们解决这样的问题,下面笔者只介绍几个处理的方法。
1) 如果读者的系统是使用Ext的框架的话,那么就可以使用下面的方法。