# 概述 CORS 允许跨域访问资源,但不当配置可能造成安全风险与性能问题。本文提供安全来源与凭证配置、预检缓存优化与响应头治理,并给出验证与监控方法。 # 安全策略(已验证) - 允许来源:使用白名单而非 `*`(在携带凭证时必须为具体来源); - 方法与头:限制 `Access-Control-Allow-Methods/Headers`; - 凭证:`Access-Control-Allow-Credentials: true` 时必须与具体来源搭配。 # 预检优化 - 预检缓存:`Access-Control-Max-Age`(如 600–3600s)减少预检次数; - `Vary: Origin`:防止缓存污染; - 响应时间:避免复杂逻辑阻塞预检。 # 示例(片段) ```http Access-Control-Allow-Origin: https://app.example.com Access-Control-Allow-Methods: GET, POST Access-Control-Allow-Headers: Content-Type, Authorization Access-Control-Allow-Credentials: true Access-Control-Max-Age: 1800 Vary: Origin ``` # 验证与监控 - 指标:预检次数、耗时与失败率; - 浏览器与网关日志:观察来源与头匹配; # 常见误区 - 使用 `*` 与凭证同时启用; - 忽略 `Vary: Origin` 导致缓存污染; # 结语 以严格来源与方法/头限制为基础,结合预检缓存与 `Vary`,并以指标与日志验证,CORS 可在安全前提下保持高效的跨域访问体验。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部