【发布时间】:2023-03-05 15:38:01
【问题描述】:
我最近不得不将 Access-Control-Allow-Origin 设置为 * 以便能够进行跨子域 AJAX 调用。我觉得这可能是一个安全问题。如果我保留该设置,我会面临哪些风险?
【问题讨论】:
-
来自 JaffaTheCake 的答案 stackoverflow.com/a/56457665/441757 是正确的:“Access-Control-Allow-Origin: * 可以完全安全地添加到任何资源,除非该资源包含受保护的私有数据标准凭据以外的其他东西……cookie、HTTP 基本身份验证和 TLS 客户端证书。” 有关更多详细信息,请参阅stackoverflow.com/a/43154277/441757。只要您不在请求中包含凭据,
Access-Control-Allow-Origin: *就是安全的。如果您确实包含凭据,浏览器将不允许您执行Access-Control-Allow-Origin: *。安全。
标签: ajax security cors http-headers