如何配置 Web 服务器限制跨域请求策略防范非法接口调用泄露实战

千敏姑娘_6461

千敏姑娘_6461

2026-06-30

879人浏览

原创

核心是精准控制跨域访问权限,而非简单放开CORS;需坚持白名单、凭证隔离与预检约束,禁用通配符,严格限定源、方法、头部,管理接口建议禁跨域或限内网,启用凭据时Origin不可为*,并叠加CORP/COEP增强隔离。

如何配置 web 服务器限制跨域请求策略防范非法接口调用泄露实战

要限制跨域请求、防范非法接口调用和数据泄露,核心不是“放开 CORS”,而是**精准控制谁可以调用、以什么方式调用、能拿到什么数据**。关键在于拒绝默认放行,坚持白名单 + 凭证隔离 + 预检约束。

明确允许的源,禁用通配符 *

Access-Control-Allow-Origin 设为 * 在涉及 Cookie、Authorization 头或敏感接口时是严重风险。浏览器会直接拒绝带凭据的请求,而攻击者仍可读取响应体(若未设凭据但返回了敏感数据)。

  • 生产环境必须使用具体域名,例如 https://app.yourcompany.com 或 https://admin.yourcompany.com
  • 多个前端需支持时,用白名单校验 Origin 请求头,动态回写匹配的源(不能拼接或反射任意 Origin)
  • Spring Boot 示例中避免 .allowedOriginPatterns("*"),改用 .allowedOrigins("https://a.com", "https://b.com")

严格限定方法与头部,缩小攻击面

允许所有方法(PUT, DELETE, OPTIONS)或所有头部(*)等于开放后门,尤其当接口支持用户数据修改或管理操作时。

Nginx Hosting
Nginx Hosting

通过服务器本地nginx实例实现零认证静态游戏托管。作为所有浏览器游戏的主要部署方式,无需登录、无需令牌、无需用户操作。

下载
  • 只声明业务真正需要的 HTTP 方法,如仅读取数据就只开 GET 和 HEAD
  • 显式列出允许的请求头,例如 Content-Type, Authorization, X-Request-ID,禁用 X-Forwarded-For 等可能被伪造的头
  • 对管理类接口(如 /admin/**),建议完全禁止跨域,或仅限内网 IP 反向代理访问

凭证控制与预检缓存策略

启用 allowCredentials = true 意味着浏览器会携带 Cookie、HTTP 认证等身份凭证——这极大提升便利性,也放大风险。

  • 开启凭据时,Access-Control-Allow-Origin 必须为具体源,不可为 *;否则浏览器直接拦截
  • 设置合理的 maxAge(如 300–3600 秒),减少重复预检开销,但不宜过长(避免策略变更延迟生效)
  • 确保 OPTIONS 预检请求不触发业务逻辑(如不查库、不发消息),仅做头响应,避免被用于探测或 DoS

叠加 CORP/COEP 增强资源隔离

CORS 解决的是“谁可以读响应”,而 CORP(Cross-Origin Resource Policy)解决的是“谁可以加载该资源”。两者配合可阻断常见跨站数据窃取链路。

  • 对静态资源(JS/CSS/图片)、API 接口响应统一添加:
    Cross-Origin-Resource-Policy: same-site(仅同站加载)或 same-origin(更严格)
  • 对主页面 HTML 响应添加:
    Cross-Origin-Embedder-Policy: require-corp + Cross-Origin-Opener-Policy: same-origin,防止恶意页面通过 iframe 或 window.open 窃取上下文
  • 这些头需由 Web 服务器(如 Nginx、Apache)或网关层统一注入,避免应用代码遗漏

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

nginx

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

980

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3392

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1116

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

989

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

534

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

3136

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5912

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

907

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

nginx手册
nginx手册

共0课时 | 0人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.5万人学习