欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 什么是跨域问题?后端如何解决跨域问题?

什么是跨域问题?后端如何解决跨域问题?

2025/6/23 6:06:12 来源:https://blog.csdn.net/2303_82176667/article/details/148817099  浏览:    关键词:什么是跨域问题?后端如何解决跨域问题?

跨域问题是指浏览器为了安全,对不同域(包含不同协议、不同端口或不同主机名)的请求进行限制,从而导致请求无法正常访问后端接口。

跨域问题的产生源于浏览器的同源策略(Same-Origin Policy),这是浏览器为保护用户数据安全而建立的核心安全机制。同源策略规定:只有当两个资源的协议(protocol)、域名(domain)、端口(port) 完全相同时,才属于同一来源,否则视为跨域。

  • 跨域场景示例

    • 前端运行在 http://localhost:8080,后端接口在 http://api.example.com:8081(域名、端口不同)
    • 前端通过 https 访问,后端接口使用 http 协议(协议不同)
    • 前端部署在 www.example.com,后端在 api.example.com(子域名不同)
  • 同源策略的安全意义:防止恶意网站通过脚本获取其他网站的用户 Cookie、本地存储等敏感信息,避免 CSRF(跨站请求伪造)、XSS(跨站脚本攻击)等安全风险。

@Configuration  
public class CorsConfig implements WebMvcConfigurer {  @Override  public void addCorsMappings(CorsRegistry registry) {  // 覆盖所有请求  registry.addMapping("/**")  // 允许发送 Cookie                .allowCredentials(true)  // 放行哪些域名(必须用 patterns,否则 * 会和 allowCredentials 冲突)  .allowedOriginPatterns("*")  .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")  .allowedHeaders("*")  .exposedHeaders("*");  }  
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词