csrf攻击
中文名: 跨站请求伪造
原理:
后端通过cookie进行身份验证,且前端请求会自动携带cookie,因此就可以利用这一点伪造登录用户的请求
防御:
- 将用于身份认证的cookie,设置为httpOnly, 使前端无法读取
- 不用cookie进行身份验证,改用手动从请求头传token
- 特别重要的请求,改为post,且加入额外的验证机制,比如请求之前,需要先填个验证码之类的
xss攻击
中文名: 跨域脚本攻击
原理:
前端可以执行js脚本和渲染html代码,如果将这些脚本或html代码来自后端数据库,而前端直接将内容显示到了界面,那就可能造成跨域脚本攻击(主要发生在富文本显示上)
防御:
- 前端显示富文本内容时,保证显示的内容是经过转义的。如: 通过 xss库 对富文本内容,进行转义
- 后端保证存储到数据库中的富文本是经过转义的
参考资料
csrf与xss攻击的详解与区别_xss攻击和csrf攻击最重要的区别-CSDN博客