一、问题来源
最近给第三方做了一个我们系统的免密登陆,开发完成本地测试没有问题,但是第三方调用免密登陆接口并跳转之后报如下错误:
The Http request is not acceptable for the requested resource.
二、解决方法
登陆跳转前端代码改为如下方式:
< a href=" " target="_blank" rel="noreferrer">111</a>
也就是在原来的基础上加了rel属性,问题解决。
三、总结
出现上面问题是因为第三方平台这边设置了安全策略。
Referrer Policy控制Refer头的行为,Refer头表示请求的来源或网页的URL。网络应用程序使用不安全的引用者策略配置,可能会将用户的信息泄露给第三方网站。strict-origin-when-cross-origin代表对于同源的请求,会发送完整的URL作为引用地址;在同等安全级别的情况下,发送文件的源作为引用地址(HTTPS->HTTPS);在降级的情况下不发送此首部 (HTTPS->HTTP)。因此当发现请求不安全时会降级从而导致访问出错。
超链接 target="_blank" 要增加 rel="nofollow noopener noreferrer" 来堵住钓鱼安全漏洞。如果你在链接上使用 target="_blank"属性,并且不加上rel="noopener"属性,那么你就让用户暴露在一个非常简单的钓鱼攻击之下。