ego008 avatar

Chrome浏览器升级,第三方统计工具无法获取完整上游地址

🕑 by ego008

Chrome 对 Referrer-Policy 的设置,使异域的网站无法获取完整的 Referral 信息,只能获取主域。

从 Chrome 85 就开始做这样的策略调整, Referrer-Policy 默认为 strict-origin-when-cross-origin,我们可以主动设置 Referrer-Policy,设置为 no-referrer-when-downgrade 就可以获取完整的Full Referral。

有两种方式来设置Referrer-Policy

CSP响应头

CSP(Content Security Policy)

plaintext:
1
2
Content-Security-Policy: 
referrer no-referrer|no-referrer-when-downgrade|origin|origin-when-cross-origin|unsafe-url;

指令和指令值之间以空格分割,多个指令之间用英文分号分割。

标签

html页面的meta标签指定。如果content属性不是合法的取值,浏览器会自动选择no-referer策略。

HTML: referrer
1
2
<meta name="referrer" 
content="no-referrer|no-referrer-when-downgrade|origin|origin-when-crossorigin|unsafe-url">

标签的referer属性,作用的只是当前标签。

策略只有三种:不传、只host、都传(即完整URL)。

针对单个链接设置的策略优先级比CSP和要高。

HTML:
1
<a href="http://example.com" referrer="no-referrer|origin|unsafe-url">xxx</a>

💘 相关文章

写一条评论

Based on Golang + fastHTTP + sdb | go1.16.3 Processed in 1ms