【问题标题】:Can you set the HTTP_REFERER in PHP in any reliable way?你能以任何可靠的方式在 PHP 中设置 HTTP_REFERER 吗?
【发布时间】:2011-06-24 13:03:28
【问题描述】:

背景:我需要为第 3 方商店设置 HTTP_REFERER 以识别他们商店的用户来自我的页面。

问题:用户通过 HTTPS 进行身份验证。当将用户从 HTTPS 发送到 HTTP 自定义存储时,Web 浏览器的标准安全行为会启动,HTTP_REFERER 会丢失。

来自 HTTPS,有没有办法可靠地设置 HTTP_REFERER 值?

【问题讨论】:

  • 您可以使用header() 函数发送原始标头。 header('Referer: http://your.site.com');header('Location: http://silly.insecure.store.com');
  • 你 100% 确定它有效吗?发布答案后,我进行了一些测试,但没有得到我设置的推荐人。 Jani 的回答是正确的,所以我不想发布不正确的答案。

标签: php curl http-headers http-referer


【解决方案1】:

当您使用 CURL 时,您使用它设置的标头由 CURL 自己的请求功能使用。它对用户的浏览器完全没有影响。

header() 相同。它只会将 response headers 设置为来自用户浏览器的当前请求。

没有办法设置用户浏览器在下一个来自 PHP 的请求中应该使用的引用头。

假设您要使用 CURL 执行整个请求,然后回显请求的结果,它应该可以工作。但除此之外,没有。

【讨论】:

    猜你喜欢
    • 2011-04-23
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多