【发布时间】:2014-01-28 22:47:12
【问题描述】:
我的应用程序的后端是一个提供 JSON 内容的 API。我发现需要应用以下响应标头,以便它允许来自任何地方的请求:
Access-Control-Allow-Origin: *
这不安全吗?
您如何创建公共 API 而不会遇到受限制的跨域源策略?我需要允许 GET 和 POST 对我的 API 端点的请求。
【问题讨论】:
标签: ajax http rest cross-domain cors
我的应用程序的后端是一个提供 JSON 内容的 API。我发现需要应用以下响应标头,以便它允许来自任何地方的请求:
Access-Control-Allow-Origin: *
这不安全吗?
您如何创建公共 API 而不会遇到受限制的跨域源策略?我需要允许 GET 和 POST 对我的 API 端点的请求。
【问题讨论】:
标签: ajax http rest cross-domain cors
如果您想公开您的 API,则将 * 用于 Access-Control-Allow-Origin 实际上是必需的。它本质上是不安全的,即使指定域也可能会导致问题,因为任何人都可以很容易地欺骗 Origin 标头绕过您的白名单。
换句话说,使用* 并不比将域列入白名单安全。
相反,您需要确保采取其他安全措施,以确保请求根据需要得到适当授权——尤其是写入请求。
【讨论】: