是否通过HTTP_REFERER传递了URL的查询段? [原文如此]

时间:2014-01-30 11:20:07

标签: php http url http-headers http-referer

一个简单的问题,对于任何Web编程语言都没有特定,因为大多数使用HTTP协议,因此能够检索和操作HTTP头中的referrer。

一个例子:

我在网页上,看到地址栏显示example.com/index.php?user=John

我点击网页上的一个链接,该链接将我带到inemplum.com

inemplum.com记录流量统计信息,包括访问者的HTTP引荐来源,此访问次数是example.com/index.php?user=John还是example.com/index.php?这个变量是否依赖于客户端和/或主机操作系统,浏览器,语言,防火墙等?这或许可以补充他们的问题标题。

我知道其他每一段都可以通过;协议,域,文件夹路径(本身为has implications)和文件名,但此问题仅关注GET方法中使用的查询数据和参数。

1 个答案:

答案 0 :(得分:1)

从我在我的终端,本地和多个服务器上进行的测试中,引用URL的参数都已传递给HTTP_REFERER,而不对服务器,黑客等进行任何修改。但是,我没有进行跨浏览器测试;我主要使用Firefox。

PHP手册中可能有帮助的参考:

  

'HTTP_REFERER' -       将用户代理引用到当前页面的页面地址(如果有)。这是由用户代理设置的。并非所有用户代理都会设置此功能,有些用户可以将HTTP_REFERER修改为功能。简而言之,它无法真正被信任。

如果这纯粹是为了进行分析跟踪,那么“inemplum.com”的所有者应该能够为您提供一组自定义参数,以附加到可直接修补到跟踪软件中的URL。例如,Google Analytic的utm_source = example.com,或者Piwik的pk_campaign =无论如何。

如果“inemplum.com”试图对该数据执行某些操作,只需通过将参数附加到链接,通过标准GET传递必要的参数。例如,inemplum.com/?user = .Jon。

希望有所帮助!