我注意到如果外部https:
站点链接到我的非https站点,我根本不会在HTTP Referer头中获得任何内容。我用access.log
体验了这一点,但我认为JavaScript的document.referrer
也是如此。
因此,如果引荐来源是https,是否无法获取有关它的任何信息?甚至不是主机名/域名?或者是否可以通过JavaScript以某种方式获得至少域名?
另外,我假设用https
运行我自己的网站不会为我解决这个问题,对吗?
答案 0 :(得分:3)
您应该查看以下答案:Get referrer URL - visitors coming from Paypal (HTTPS)
如果您的网站使用HTTP(不是HTTPS)并且引用者使用HTTPS,则不会发送Referrer!
HTTP RFC - 15.1.3 Encoding Sensitive Information in URI's州:
客户端不应在(非安全)中包含Referer头字段 如果引用页面是使用安全传输的,则为HTTP请求 协议
因此,获取推荐人的唯一方法是在您的网站上使用HTTPS。
答案 1 :(得分:1)
要获取document.referrer
,您可以使用以下任一选项:
您需要将HTTP站点转换为HTTPS。
或者您可以在HTTPS网站中添加以下简单的元标记。
<meta name="referrer" content="always">