当用户在浏览器上点击一个链接时,会产生一个 HTTP 请求,用于获取新的页面内容,而在该请求的报头中,会包含一个 Referrer,用以指定该请求是从哪个页面跳转页来的,常被用于分析用户来源等信息。但是也有成为用户的一个不安全因素,比如有些网站直接将 sessionid 或是 token 放在地址栏里传递的,会原样不动地当作 Referrer 报头的内容传递给第三方网站。
Referrer Policy规定了五种Referrer策略:
- No Referrer、
- No Referrer When Downgrade、
- Origin Only、
- Origin When Cross-origin、
- Unsafe URL。
Referrer-Policy常见属性
no-referrer 任何情况下都不发送referer
no-referrer-when-downgrade //在同等安全等级下(例如https页面请求https地址),发送referer,但当请求方低于发送方(例如https页面请求http地址),不发送referer
origin //仅仅发送origin,即protocal+host
origin-when-cross-origin //跨域时发送origin
same-origin //当双方origin相同时发送
strict-origin //当双方origin相同且安全等级相同时发送
unfafe-url //任何情况下都显示完整的referer
其他:
<meta name="referrer" content="always"> //不改变http header 中的 referer 的值。
1
注意:这种情况下,如果当前页面使用了 https 协议,而要加载的资源使用的是 http 协议,加载资源的请求头中也会携带 referer。
相关使用介绍在这里:
http://www.freebuf.com/news/57497.html
http://smerity.com/articles/2013/where_did_all_the_http_referrers_go.html
相关资料文章:
https://imququ.com/post/referrer-policy.html
https://www.cnblogs.com/caixw/p/referrer-policy.html
---------------------
作者:Rkatsiteli
来源:CSDN
原文:https://blog.csdn.net/qq_16559905/article/details/80356333
版权声明:本文为博主原创文章,转载请附上博文链接!