前言
目前web的安全问题主要有下面几个:
- XSS漏洞
- CSRF漏洞
XSS
跨站脚本攻击(Cross Site Scripting),攻击者往 Web 页面插入恶意的 Script 脚本代码,当用户访问页面的时候,嵌入的脚本代码就会执行,这样,攻击者可以通过 Script 脚本代码获取用户的 cookie
等信息,模拟用户的请求等达到攻击目的。
XSS 分类
- 存储型:XSS 提交的代码会存储在服务器端(数据库中),下次请求页面不用再提交 XSS 代码
- 反射型:发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS随响应内容一起返回给浏览器,最后浏览器解析执行XSS代码
XSS 预防
针对存储型,XSS 攻击往往是利用了服务器信任用户的输入,所以,需要对用户输入进行过滤进行预防攻击,尤其是和 HTML 相关的字符,如尖括号等。
程序员的个人博客是输入和 HTML 相关字符最多的地方,预防代码如下:
// 清除 XML 标签
var clearXMLTags = fu