登录回调页面的时候跳转的地址老是首页,决定定下心来细细查看一番,经过一通搜索得出如下结论,并以解决问题
Chrome85 的 referer 策略修改
原本默认的 referer 策略(policy)是no-referrer-when-downgrade,即允许referer带上来源页面地址上的请求参数,Chrome85将策略修改为strict-origin-when-cross-origin,即如果请求地址与请求页面非同源,将只携带请求的域名,不会再带上来源页面地址的请求参数。
为什么使用strict-origin-when-cross-origin
增强隐私:使用strict-origin-when-cross-origin将在请求非同源资源的时候,让referer只带上来源页面的源域名,不会暴露链接上的其他参数。
如何开启/关闭no-referrer-when-downgrade
目前只有Chrome85主动使用了no-referrer-when-downgrade这个策略,如果要在其他浏览器开启这个策略,可以分别在前后端做配置:
//前端在html页面配置:
<meta name="referrer" content="strict-origin-when-cross-origin" />
//服务端可以在请求头上加上 Referer Policy 这个请求头:
Referer Policy: strict-origin-when-cross-origin
//关闭strict-origin-when-cross-origin
//前端在html设置:
<meta name="referrer" content="no-referrer-when-downgrade"" />
<!-- 对某个特定资源设置 referer 策略 -->
<img src="…" referrerpolicy="no-referrer-when-downgrade" />
服务端将Referer Policy设置为no-referrer-when-downgrade
Referer Policy: no-referrer-when-downgrade
网友评论