安全基础


浏览器的同源策略

同源策略介绍

同源策略解决的问题:CSRF

CSRF(cross-site request forgery) 通过伪装成受信任用户的请求来利用受信任的网站。

CSRF攻防简介

如何防止CSRF攻击
防止手段

  • CSRF自动防御策略:同源检测(Origin和Referer验证)
  • CSRF主动防御措施:Token验证,双重Cookie验证以及配合Samesite Cookie
  • 保证页面的幂等性,后端接口不在GET页面做用户操作

CORS(跨域资源共享标准)
CORS 提供了一种设置你的页面可以访问指定的域名下的资源(API)的方法。当然这些域名是你受信任的。从而避免了 CRSF 攻击。CORS 就像是一个过滤器

跨域问题的解决方案

  1. 将Vue 编译后的代码放到 Spring-boot 的 resources/static 目录下。前后端使用一个服务

  2. CORS

    2.1 使用注解

    2.2 在配置类中设置CORS(设置全局跨域)

配置跨域问题的注意事项:

不要设置@CrossOrigin(‘*’)。虽然达到跨域访问的问题,但是不能达到CORS的意义。因为这个操作是信任所有域名

SpringBoot+vue跨域问题实例

同源策略的表现

  1. DOM层面:限制了不同源的JavaScript脚本对当前DOM对象读写操作
  2. 数据层面:限制不同源的站点读取当前站点的Cookie,IndexDB,LocalStorage等数据
  3. 网络层面:限制通过XMLHttpRequest等方式将站点的数据发送给不同源的站点

文章作者: 彭峰
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 彭峰 !
  目录