聊聊前端安全
2018-03-10 本文已影响0人
追风的云月
CSRF
跨站请求伪造,Cross-site request forgery
攻击原理:用户登录A网站后,服务器向浏览器下发cookie,然后被保存在浏览器中;然后用户访问网站B,被引诱点击了网站A的接口(会是get类型接口),此时浏览器会自动上传之前保存的cookie,网站A会认为是合法用户,就执行了一个get接口。
实现条件:根据以上原理,CSRF能成功有两个条件,一是A网站的这个接口有漏洞,二是用户的确在这个网站登录过。
如何防御攻击
token验证:规定接口必需带cookie请求,因为浏览器只会自动发送cookie而不会发送token,来使这个攻击因为无法发送token而失败。
referer验证:根据 HTTP 协议,在 HTTP 头中有一个字段叫 Referer,它记录了该 HTTP 请求的来源地址,通过判断这个来源是不是可以信任的网站来防止攻击
XSS
跨跨域脚本攻击,Cross-site scripting
攻击原理:注入脚本。网站没有对用户提交数据进行转义处理或者过滤,进而添加一些JS代码,嵌入到web页面中去。
如何防御攻击
不信任任何客户端提交的数据,只要是客户端提交的数据就应该先进行相应的过滤或转义处理然后方可进行下一步的操作。