我的网站是100%https。我有其他http域的链接。从https页面链接到http页面时,未设置引荐来源标头。来自http://en.wikipedia.org/wiki/HTTP_referrer

如果通过HTTP安全(HTTPS)连接访问网站,并且
链接指向除其他安全位置以外的任何地方,则不会发送
引荐来源字段。

我希望其他域可以看到引荐来源,以便他们知道流量来自我的域。有没有办法强制使用此标头或其他解决方法?
更新
我已经使用重定向完成了一些基本测试:
http page  -- link to http  --> 301 redirect --> http page = referrer intact
https page -- link to https --> 301 redirect --> http page = referrer blank
https page -- link to http  --> 301 redirect --> http page = referrer blank
https page -- link to http  --> 302 redirect --> http page = referrer blank

从以下位置链接时,引荐来源网址丢失一个https页面到我自己域上的http重定向页面。因此,重定向上没有引荐来源网址。

评论

Origin应该是完整的,但是可能不适合您的用例。

#1 楼

如前所述,此答案有一种新的执行方法:引荐来源网址政策/元标记。

请参阅本问与答中的规范和示例。

#2 楼

我也有同样的问题。我可以通过添加如下所示的元标记来解决,该标记只能在Chrome和Safari中使用。

<meta name="Referrer" content="origin">


#3 楼

遗憾的是,您无法在HTTPS上引用使用HTTP的站点。但是,您可以执行HTTPS到HTTPS或HTTP到HTTPS的操作。


源(SOURCE)

如果引用页面是通过一个或多个域名传输的,则客户端不应该在(非安全)HTTP请求中包含引用头字段。安全
协议。


一种解决方法是使用内部重定向脚本,而不是将链接重定向到您重定向到HTTP的HTTPS上的访问者,然后重定向

例如:

<a href="http://www.yours.com/out.php?www.other.com">www.outboundsite.com</a>,但这不会使用原始的引荐来源网址。

另一种可能性是使用引用引用而不是引荐来源网址和据我所知,这在HTTPS中有效。

评论


我的测试表明,使用重定向不起作用(请参阅更新)。

–胡桃夹子
13年4月18日在1:14

使用引用或丢失HTTPS;)

–西蒙·海特(Simon Hayter)♦
13年4月18日在11:00

@bybe,此答案需要编辑。请参阅serverfault.com/a/520603/87017和webmasters.stackexchange.com/a/71331/7654

–起搏器
2015年4月15日在5:46



#4 楼

我能够建立从HTTPS页面到另一个域上的HTTP页面的链接,并仍然使用以下技术将第一页的URL作为引荐来源传递。

定义

原始页面:HTTPS页面,指向HTTP托管目标页面的链接位于该页面。在此示例中:https://example1.com/origin.html

目标页面:HTTP页面,可以访问原始页面的引荐来源网址。在此示例中:http://example2.com/destination.html

基本计划

这具有使重定向来自原始页面的HTTP版本的效果:


HTTPS原始页面上的链接链接到当前页面,但为目标页面添加了一个查询参数[1]。例如:https://example1.com/origin.html?goto=http://example2.com/destination.html

单击链接时,出现查询参数'goto'时,example1.com上的服务器中断标准请求。然后,它:


将'goto'参数存储在'goto'cookie中。
从当前请求的url中删除'goto'参数和值
302重定向到原始域的HTTP版本上的这个新的已清理的url,即。 http://example1.com/origin.html





服务器检查每个请求的“ goto” cookie,如果存在,将清除该cookie,然后呈现一个非常简单的重定向页面。该页面包含[2]:


一个Javascript window.location.replace()脚本,该脚本重定向到goto cookie url。
带有值的Meta Refresh标签。 goto cookie url并延迟了几秒钟。
指向goto cookie url的链接。



注意事项

[1 ]此基本解决方案是一个开放的重定向器,应考虑使用goto查询参数来防止网络钓鱼攻击中的UA受到恶意破坏。

[2]并非所有浏览器都将在以下情况下发送引荐来源网址通过JS重定向或元刷新标签进行重定向。在我的测试中,IE8及更低版本未通过引荐来源网址。

我不确定这种技术是否会让搜索引擎抓取工具跟踪链接。这对我的要求并不重要。

如果UA禁用了cookie,那么它将再次重定向到原始页面。

允许HTTP连接仅用于重定向

在我的服务器上,无论请求如何,我都有一个执行HTTPS的Apache规则:

<VirtualHost *:80>
    ServerName example1.com

    # if not on port 443 then 301 redirect to https while keeping any query string
    RewriteEngine              On
    RewriteCond %{HTTP_HOST}  ^example1\.com$ [NC]
    RewriteCond     %{SERVER_PORT} !443
    RewriteRule     ^(.*)$     https://%{HTTP_HOST} [L,QSA,R=301]


为了使上述重定向技术正常工作,我需要一些有条件地允许HTTP连接的方法。有很多方法可以做到这一点。我决定使用cookie。

<VirtualHost *:80>
    ServerName example1.com

    # if not on port 443 then 301 redirect to https while keeping any query string
    RewriteEngine              On
    RewriteCond %{HTTP_HOST}  ^example1\.com$ [NC]
    RewriteCond     %{SERVER_PORT} !443
    RewriteCond %{HTTP_COOKIE}  !disable_ssl [NC]
    RewriteRule     ^(.*)$     https://%{HTTP_HOST} [L,QSA,R=301]


disable_ssl cookie将在步骤2中设置,然后在步骤3中删除。

评论


好的....但是这并没有完全传递“引荐来源标头”。

–起搏器
15年4月15日在5:44

#5 楼

根据HTTP 1.1协议http://www.w3.org/Protocols/rfc2616/rfc2616-sec15.html#sec15.1.3

客户端不应在(非安全的) )HTTP请求(如果引用页面是通过安全的
转移的)

评论


我为什么不呢

–马丁(Martijn)
2014年8月22日上午10:36

#6 楼

看起来无法实现所需的解决方案,因此可能的解决方法是:如果目标网站使用的是Google Analytics(分析)(或兼容的程序,我相信Piwik使用类似的语法,而其他统计信息包可能会愚蠢地忽略了这一点),则可以发送跟踪参数,例如,在指向example.com的链接中

http://www.example.com/?utm_campaign=spring&utm_medium=referral&utm_source=exampleblog


这将在详细信息中显示出来,并确保选择其他人不太可能使用的值,这样您就不必强迫它们发生冲突/或隐藏流量在其他人的后面

Google在此处http://support.google.com/analytics/answer/1033867?hl=zh_CN

更新-礼节

在不了解流量本质的情况下,我只能说一般/个人话...

礼节总是在情人眼中。没有这个,我认为至少在Google Analytics(分析)中,它可能会直接展示出来,或者(可能没有)展示出来,从而歪曲他们的形象,使他们看起来自己的品牌比现在更大。就我个人而言,我希望选择一个经过精心挑选的广告系列,这样我才能知道流量来自何处。

您也可以将其视为,如果您几乎不向他们发送任何流量,那么他们可能不会注意到,如果您发送给他们很多,那么他们可能不会抱怨!如果他们这样做了,那么通常您可以找到其他人来免费提供流量!

如果您非常有针对性,那应该不会造成问题。广告系列作为您网站的名称,来源作为您网站的板块?

http://www.example.com/?utm_campaign=mygreatsite.com&utm_medium=referral&utm_source=specialoffers


评论


好主意!我曾考虑过这种解决方法,但想知道他们是否是从我最终开始实施该方法的一些“规则”。通常,这些查询参数是由第三方网站添加的,因此它们可以跟踪其广告系列等。以任何方式都将这种方法视为不良做法吗?

–胡桃夹子
13年4月18日在13:53