一、問題來源
最近給第三方做了一個我們系統的免密登陸,開發完成本地測試沒有問題,但是第三方調用免密登陸接口並跳轉之后報如下錯誤:
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"屬性,那么你就讓用戶暴露在一個非常簡單的釣魚攻擊之下。