XSS 和 CSRF
XSS
原理
xss 跨站脚本攻击,其实就是在网页的输入框中输入script脚本,
脚本可以做一些alert或者死循环和登陆用户的用户信息(比如校验登陆的token 等等)
当用户再次访问页面时这些脚本会在网页中加载出来,这时候就会出现弹窗alert,死循环,
或者发请求给攻击者服务器(发送的请求这时候就可以携带走保存在用户本地的登陆信息攻击者可以直接利用这个来登陆);
解决方案
1.不信任一切可以输入的信息,后端可以把返回结果转译一次,特别是<, > 等特殊字符
2.如果用户信息存在cookies中可以加http-only same-site 等
CSRF
原理
csrf 跨站请求伪造,其实就是在被攻击网站在上次退出中用户的登陆信息没有过期
当用户User访问了a.com这个网站,又去访问了b.com(一个钓鱼网站)网站, b.com中有接口去访问了a.com,并且利用了a.com的登陆信息
解决方案
1.不用携带cookies 这个方法来做接口校验,可以改用在header头中添加auth 这种方式(jwt),或者接口就不允许携带cookies 2.同构项目可以采用csrf_token 3.验证referer(但是这个可以被修改)