【问题标题】:brwoser block reuqest for CORS浏览器阻止 CORS 请求
【发布时间】:2015-03-09 09:47:17
【问题描述】:

我想从 hostA(192.168.10.16) 发送请求到 hostB(publicIP:91.241.22.2,localIP:192.168.10.5)

我用这个设置了 Apache(91.241.22.2)

Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"

PHP

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

当向 publicIP:91.241.22.2 发送请求时,这有效。

但是但是但是

当向 localIP:192.168.10.5 Firefox 发送请求时说错误:跨域请求被阻止:同源策略不允许读取位于 192.168.10.5/shemareSafhe.php 的远程资源。这可以通过将资源移动到同一域或启用 CORS 来解决。

请帮帮我:(

【问题讨论】:

    标签: php apache cross-browser network-programming


    【解决方案1】:

    使用浏览器或外壳检查您的标题

    curl -i 'http://192.168.10.5/shemareSafhe.php'
    curl -i 'http://91.241.22.2/shemareSafhe.php'
    

    检查差异,我更喜欢仅使用 PHP 设置标题

    【讨论】:

    • 在 192.168.10.5==> 原点是 192.168.10.16 而在 91.241.22.2 原点是 *
    • 然后确保 header("Access-Control-Allow-Origin: *");被执行,你没有控制它的 apache 设置。
    • 我设置了 header("Access-Control-Allow-Origin: *");在我的代码的第一行,如何确保 apache 设置控制标头?
    • 尝试在设置标题后使用 die() 停止脚本并再次检查。如果您有相同的结果,请在您的 apache 配置和 htaccess 文件中搜索“Access-Control-Allow-Origin”
    猜你喜欢
    • 2021-10-25
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2021-09-19
    • 2017-09-11
    • 2021-02-04
    • 2018-10-18
    • 2020-08-16
    相关资源
    最近更新 更多