【问题标题】:Get the domain that is doing the cross domain request in PHP?获取在 PHP 中进行跨域请求的域?
【发布时间】:2018-04-03 19:09:51
【问题描述】:

我有一个站点,我可以在其中对我的另一个站点进行跨域调用。是否有可能查看哪个域正在尝试执行跨域请求?

让我通过一个示例来澄清这一点:

在我的网站example.com 上,我向test.com 发出跨域请求。在test.com 中,example.com 允许进行跨域请求。所以它将运行代码。现在,在我正在运行的那段代码中,我想查看是哪个站点发出了请求。所以在这种情况下,我希望它返回example.com。

这可能吗?

【问题讨论】:

  • 这就是 Origin 标头的用途 ...

标签: php cross-domain


【解决方案1】:

$_SERVER['HTTP_REFERER'] 应该包含该信息。根据php官方文档

'HTTP_REFERER' 引用该页面的地址(如果有) 用户代理到当前页面。这是由用户代理设置的。不是全部 用户代理会设置这个,有些提供修改的能力 HTTP_REFERER 作为一个特性。简而言之,它不能真正被信任。

【讨论】:

    【解决方案2】:

    您可以在跨域请求中包含网站名称 example.com。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-14
      • 2011-03-13
      • 2011-10-28
      • 1970-01-01
      • 2016-09-12
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      相关资源
      最近更新 更多