duhongjun / blog

my blog ~
https://duhongjun.github.io/blogsite
0 stars 0 forks source link

关于前段安全的一些总结 #4

Open duhongjun opened 6 years ago

duhongjun commented 6 years ago

HTTP劫持:

防御劫持最好的方法还是从后端入手,前端能做的实在太少。而且由于源码的暴露,攻击者很容易绕过我们的防御手段。

  1. 配置X-FRAME-OPTIONS
  2. 升级HTTPS!

防御XSS:

  1. 对用户输入进行转义,转义关键字符(如<, >,"等 )
  2. cookie中设置HttpOnly属性后,js脚本将无法读取到cookie信息(自己也用不了了, 视情况使用)。
  3. 可以使用MutationObserver监控document拦截注入的静态脚本
  4. 建立黑/白名单, 复写setAttributedocument.write属性, 每次执行都进行黑/白名单匹配
  5. 使用CSP,用来定义页面可以加载哪些资源,减少 XSS 的发生。
  6. 使用a标签打开新窗口时, 记得加上rel=noopener,防止新页面对旧页面的危险操作!

CSRF:

  1. 验证 HTTP Referer字段
  2. 在请求地址中添加 token 并验证
  3. 在 HTTP 头中自定义属性并验证

参考资料

http://www.cnblogs.com/coco1s/p/5777260.html