2016-11-04 14 views
0

Мы перемещаем наш веб-сайт федерального правительства только на https-only. Мы получили жалобы от сайтов, на которые мы ссылаемся, что наши источники исчезли, когда эти сайты используют только http. Это связано с тем, что https-> http downgrade по умолчанию скрывает реферер.<meta name = 'referrer'> works, Referrer-Policy header не

Мы пытаемся использовать заголовок 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-> HTTP Понижение рейтинга ссылка отправляет пустой заголовок

Тем не менее это <meta> e lement дает желаемое поведение: https://www.ncbi.nlm.nih.gov/corecgi/tests/testref.cgi?meta=true

У кого-нибудь еще есть и исправлена ​​эта проблема?

+0

Я заметил, вы отправляете заголовок дважды. Пробовал отправить его один раз и посмотреть, изменит ли это поведение? – Konklone

+0

Какой браузер + версия вы тестируете? Заголовок Referrer-Policy поддерживается только в Chrome 56 или более поздней версии (если вы не установили специальный флаг в более ранних версиях). – Emily

ответ

2

Похоже, Chrome собирается, но не совсем еще, поддерживает заголовок Referrer-политика:

Он будет доступен в Chrome 56 стабильный. Он находится за флагом с Chrome 53, поэтому вы можете запустить Chrome с помощью --enable-experimental-web-platform-features, чтобы попробовать его там.

поддержка заголовка Referrer-политика будет поставляться в Firefox 50:

+0

Спасибо, получил этот совет как раз вовремя. – elucify