前端基础整理 | Web安全基础
2019-05-19 本文已影响2人
格致匠心
1、XSS / CSRF
XSS
- 简介:跨站脚本攻击,类似SQL注入,是HTML注入javascript代码,通常是获取Cookie信息。
- 对抗方法:Cookie设置HttpOnly,不会被JS读取。
CSRF
- 简介:跨域伪造请求,通常在B的网站利用你在A网站的登陆状态还热乎,让你去执行A网站的其他api(比如在B网站的图片埋一个A网站转账的url)。
- 对抗方法:设置csrf_token,通常在表单里埋一个 hidden的csrf_token,再在用户的cookies里设置这个token,你提交表单的时候就要校验这个token是否为你cookies的那个。
2、跨域
由于同源策略(Same origin policy)的限制,我们不能在用ajax访问其他网站的内容,通常的跨域方法包含两种:
- JSONP:只能用在GET请求,本质就是用JS包装的json,利用了跨站请求JS可以通过的原理。
- CORS:通常用webserver配置。本地开发中,可以在利用 webpack-dev-server 的 proxy 选项(方向代理)来快速解决跨域问题。
- 防范CORS攻击,在Access-Control-Allow-Origin限制域名。Access-Control-Allow-Method限制方法。