0

我注意到,如果一个外部https:站点链接到我的非 https 站点,我根本不会在 HTTP Referer 标头中得到任何东西。我已经经历过这种情况access.log,但我认为 JavaScriptdocument.referrer也会发生同样的情况。

那么,如果referrer是https,是不是就没有办法得到任何关于它的信息呢?甚至没有主机名/域名?或者是否有可能使用 JavaScript 以某种方式至少获得域?

另外,我认为运行我自己的网站https不会为我解决这个问题,对吗?

4

2 回答 2

4

你应该检查这个答案:Get referrer URL - visitor from Paypal (HTTPS)


如果您的站点使用 HTTP(不是 HTTPS)并且引荐来源网址使用 HTTPS,则不会发送引荐来源网址!

HTTP RFC - 15.1.3 在 URI 的状态下编码敏感信息:

如果引用页面是使用安全协议传输的,则客户端不应在(非安全)HTTP 请求中包含Referer 头字段。

因此,获得推荐人的唯一方法是在您的网站上使用 HTTPS。

于 2013-05-14T19:47:12.340 回答
1

要获得document.referrer,您可以使用以下任一选项:

  1. 您需要将您的 HTTP 站点转换为 HTTPS。

  2. 或者您可以在您的 HTTPS 站点中添加以下简单的元标记。

    <meta name="referrer" content="always">

于 2018-08-08T10:58:51.560 回答