参考

https://juejin.cn/post/6844903685122703367#heading-18
https://juejin.cn/post/6844903507909165070
https://juejin.cn/post/6844903508487979016

XSS 跨站脚本攻击

输入过滤为何不可靠不推荐

输入过滤(不可靠,不推荐),因为你不知道之后的输出及处理,无法保证后续能正确识别处理,无论是前端过滤还是后端过滤

比如 5 < 7 转义成 5 &lt; 7
假设是服务响应给前端的,然后赋值给 Vue template HTML 中某标签某属性
也可能是前端传给后端,也可能是前端用于展示…
场景太多,不同场景要用不同转义方法

CSFR 跨站请求伪造

iframe

点击劫持

浏览器对响应内容的“智能”推断

不安全的第三方依赖包

HTTPS 被拦截降级为 HTTP

不要在前端存储重要数据

在前端存储重要数据,即便加密也没用,毕竟加密方法也在前端,攻击者能找出来

CDN 被劫持、污染时,静态资源的内容可能被修改

使用 script 标签的 integrity 属性校验资源内容的 hash