【问题标题】:Providing Access-Control-Allow-Origin with a Wildcard使用通配符提供 Access-Control-Allow-Origin
【发布时间】:2011-09-02 19:33:55
【问题描述】:

当另一个特定字符串作为 GET 变量提供时,我正在制作一个页面,该页面使用特定字符串响应 AJAX 请求。为了避免“同源”政策出现问题,我发现我可以在页面顶部包含这行 PHP:

header('Access-Control-Allow-Origin: *');

没有任何敏感数据被传递,它实际上是从几个不同域来回传递的关键字(它是一个与 SEO 相关的应用程序)。因此,数百个不同的域将使用它,所以如果可能的话,我想避免指定每个域。使用这条线路有任何风险吗?如果是这样,它们是什么?

此外,如果此页面位于 HTTPS URL 下,是否仍可访问?

欢迎提出任何意见、建议或疑虑。谢谢!

【问题讨论】:

    标签: php ajax same-origin-policy access-control


    【解决方案1】:

    如果访问确实是公开的,我会说这是一个很好的解决方案。但是,如果您想限制对您网站的访问,您可能需要明确列出每个允许的域来源。

    既然您说您的回复不包含任何敏感信息,您可能不必担心通过 HTTPS 托管您的服务。您可能的原因之一是客户端 HTTPS 页面尝试访问您的非 HTTPS 服务。在这种情况下,我猜他们会在调用您的 AJAX 服务时收到有关发送/接收不安全信息的警告,甚至可能只是静默失败。如果这是一个足够常见的情况,那么我会说调查 HTTPS 服务。确保您的 HTTPS 证书已正确认证,因为如果客户端的浏览器无法验证证书,AJAX 请求将静默失败(而不是在您直接导航到 HTTPS 页面时提示)!另外,我不知道你的情况会如何,但每当我使用 HTTPS 时,我通常都必须调整一些东西才能让它们正常运行。

    长话短说,我将从 HTTP 开始,然后评估 HTTPS 的需求。祝你好运!

    【讨论】:

    • @Pete Herbert Penito 欢迎 :)
    猜你喜欢
    • 2017-03-05
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 2016-09-30
    • 2015-06-17
    • 1970-01-01
    • 2017-01-17
    • 2012-12-09
    相关资源
    最近更新 更多