【问题标题】:Is Access-Control-Allow-Origin: * unsafe?Access-Control-Allow-Origin: * 不安全吗?
【发布时间】:2014-01-28 22:47:12
【问题描述】:

我的应用程序的后端是一个提供 JSON 内容的 API。我发现需要应用以下响应标头,以便它允许来自任何地方的请求:

Access-Control-Allow-Origin: *

这不安全吗?

您如何创建公共 API 而不会遇到受限制的跨域源策略?我需要允许 GETPOST 对我的 API 端点的请求。

【问题讨论】:

    标签: ajax http rest cross-domain cors


    【解决方案1】:

    如果您想公开您的 API,则将 * 用于 Access-Control-Allow-Origin 实际上是必需的。它本质上是不安全的,即使指定域也可能会导致问题,因为任何人都可以很容易地欺骗 Origin 标头绕过您的白名单。

    换句话说,使用* 并不比将域列入白名单安全。

    相反,您需要确保采取其他安全措施,以确保请求根据需要得到适当授权——尤其是写入请求。

    【讨论】:

    • 感谢您的保证。您能否举例说明您所说的其他安全措施是什么意思?你的意思是清理数据库输入吗?
    • @izolate 特别是我在谈论确保请求带有某种由 OAuth 或其他东西提供的身份验证令牌。
    猜你喜欢
    • 2015-06-17
    • 2013-09-09
    • 2017-06-15
    • 2016-09-30
    • 2012-06-07
    • 2011-11-05
    相关资源
    最近更新 更多