1 原理
跨站脚本攻击是指恶意攻击者向网页中插入一段恶意代码,当用户浏览该网页时,嵌入到网页中的恶意代码就会被执行。恶意用户可以使用该漏洞来盗取用户账户信息、模拟其他用户身份登录,甚至可以修改网页呈现给其他用户的内容。因此修复的原理是过滤用户输入的危险数据(默认用户所有的输入数据都是不安全的),对用户提交的所有数据进行检查和过滤,用户通常可以根据GET和POST提交数据,可能将正常字段中插入可执行的脚本,因此重点要对GET及POST参数进行过滤。
根据PHP的特性,在PHP使用GET和POST参数之前对所有参数进行了过滤和转义,因此在PHP中,通过_GET[‘id’]获得URL请求中的id参数时,拿到的是过滤后的值。
2 方法
在/home/wwwroot/http://www.doczj.com/doc/9fa5d878f18583d0496459fe.html/remove_xss/目录下添加所需的php文件(XSS_function.php)。在php文件的第一行代码处添加如下代码,用于对HTTP GET及POST请求参数进行过滤和转义。
XSS_function.php的作用是在使用GET和POST之前,对所有参数进行果粒橙和转义,代码如下所示:
其中通过RemoveXSS函数实现过滤和转义,添加上述代码后,整体的PHP结构如下所示: