首页 >运维 >安全 >XSS分类及防御措施

XSS分类及防御措施

王林
王林转载
2020-06-17 17:27:093288浏览

XSS分类及防御措施

XSS分为三类:

  • 反射型XSS(非持久型)发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型XSS。

  • 存储型XSS(持久型)存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。

  • DOM XSS(客户端)DOM XSS和反射型XSS、存储型XSS的差别在于DOM XSS的代码并不需要服务器参与,触发XSS靠的是浏览器端的DOM解析,完全是客户端的事情。

XSS的防御措施:

  • 过滤转义输入输出

  • 避免使用eval、new Function等执行字符串的方法,除非确定字符串和用户输入无关

  • 使用cookie的httpOnly属性,加上了这个属性的cookie字段,js是无法进行读写的

  • 使用innerHTML、document.write的时候,如果数据是用户输入的,那么需要对象关键字符进行过滤与转义

推荐教程:web服务器安全

以上是XSS分类及防御措施的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:juejin.im。如有侵权,请联系admin@php.cn删除