我们正在将联邦政府网站移至仅限https。我们收到了我们链接到的网站的投诉,我们的推荐人已经消失,当这些网站仅使用http时。这是因为默认情况下,https-> http降级会隐藏引荐来源。
我们正在尝试使用HTTP请求标头Referrer-Policy: origin-when-cross-origin
,但它似乎不起作用。但是,放置<meta name='referrer' content='origin-when-cross-origin'>
确实为大多数浏览器提供了正确的行为。
我们正在设置标题:
<pre>
$ curl -sI https://www.ncbi.nlm.nih.gov/corecgi/tests/testref.cgi
HTTP/1.1 200 OK
Date: Fri, 04 Nov 2016 20:53:38 GMT
Server: Apache
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Content-Security-Policy: upgrade-insecure-requests
Referrer-Policy: origin-when-cross-origin
Content-Security-Policy-Report-Only: default-src https:; script-src https: 'unsafe-inline' 'unsafe-eval'; font-src https: data:; img-src https: data:; style-src https: 'unsafe-inline'; report-uri https://www.ncbi.nlm.nih.gov/corecgi/csp/csp.cgi
Referrer-Policy: origin-when-cross-origin
Access-Control-Allow-Methods: POST, GET, PUT, OPTIONS, PATCH, DELETE
Access-Control-Allow-Origin:
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: X-Accept-Charset,X-Accept,Content-Type,X-Requested-With,NCBI-SID,NCBI-PHID
Content-Type: text/html
Vary: Accept-Encoding
X-UA-Compatible: IE=Edge
X-XSS-Protection: 1; mode=block
</pre>
但是这个标题不起作用:
试试这个:https://www.ncbi.nlm.nih.gov/corecgi/tests/testref.cgi 请注意,https-&gt; http降级链接会发送空白标题
然而,<meta>
元素提供了所需的行为:
https://www.ncbi.nlm.nih.gov/corecgi/tests/testref.cgi?meta=true
有没有其他人已经解决了这个问题?
答案 0 :(得分:2)
看起来Chrome即将支持Referrer-Policy标题,但尚未支持,
它将在Chrome 56稳定版中提供。自Chrome 53以来,它一直落后于旗帜,因此您可以使用--enable-experimental-web-platform-features
运行Chrome,以便在那里试用。
Referrer-Policy标头支持将在Firefox 50中提供: