Google85版本後referer的丟失

2021-10-25 22:20:22 字數 1794 閱讀 3979

最近在開發中發現了乙個問題,就是之前我們平台的是巢狀在省公司的平台,每次使用者資訊的獲取是從大選單第一次跳轉的請求頭內的referer中獲取,每次需要從中進行使用者資訊的鑑權.但是在國慶來了後,突然發現很多使用者的無法進行正常的鑑權操作,導致使用量急劇下降.

在一番測試之後發現了,高版本的google瀏覽器普遍出現referer的丟失,低版本是可以正常的使用.從中分析,應該是google瀏覽器的版本問題,就去解讀最近的google瀏覽器更新的版本.果不其然,

在google 8.5版本之後,原本預設的 referer 策略(policy)是no-referrer-when-downgrade,即允許referer帶上**頁面位址上的請求引數,chrome85+將策略修改為strict-origin-when-cross-origin,即如果請求位址與請求頁面非同源,將只攜帶請求的網域名稱,不會再帶上**頁面位址的請求引數。

那如何解決呢,可以在html裡設定

"referrer"content=

"no-referrer-when-downgrade"

/>

也可以在nginx設定header,這樣就不用重新上線了

add_header referrer-policy no-referrer-when-downgrade;
總結:

syntax

referrer-policy: no-referrer

referrer-policy: no-referrer-when-downgrade

referrer-policy: origin

referrer-policy: origin-when-cross-origin

referrer-policy: same-origin

referrer-policy: strict-origin

referrer-policy: strict-origin-when-cross-origin

referrer-policy: unsafe-url

no-referrer

整個 referer 首部會被移除。訪問**資訊不隨著請求一起傳送

no-referrer-when-downgrade (預設值)

在沒有指定任何策略的情況下使用者**的預設行為。在同等安全級別的情況下,引用頁面的位址會被傳送(https->https),但是在降級的情況下不會被傳送 (https->http)。

origin

在任何情況下,僅傳送檔案的源作為引用位址。例如 會將 作為引用位址。

origin-when-cross-origin

對於同源的請求,會傳送完整的url作為引用位址,但是對於非同源請求僅傳送檔案的源。

same-origin

對於同源的請求會傳送引用位址,但是對於非同源請求則不傳送引用位址資訊

strict-origin

在同等安全級別的情況下,傳送檔案的源作為引用位址(https->https),但是在降級的情況下不會傳送 (https->http)。

strict-origin-when-cross-origin

對於同源的請求,會傳送完整的url作為引用位址;在同等安全級別的情況下,傳送檔案的源作為引用位址(https->https);在降級的情況下不傳送此首部 (https->http)。

unsafe-url

無論是同源請求還是非同源請求,都傳送完整的 url(移除引數資訊之後)作為引用位址。(最不安全的策略了)

Mysql資料遷移 8 0版本至5 7版本

寫這篇帖子的原因 昨天在本地將資料遷移完後,部署至生產環境報錯,資料匯入的時候發生問題。為了避免踩雷所以在本地裝的mysql 5.7,但很奇怪不知道咋回事變成了8.0版本。於是乎在遷移至生產環境是出現了字符集的問題。之前在網上也搜了不少帖子,甚至不知道如何去搜。搜出來的內容沒有很具體到版本。有在命令...

1 5 版本編號

在深入程式設計之前,我們應當對 linux 使用的版本編號方法和本書涉及的版本做些說明.首先,注意的是在 linux 系統中使用的每乙個軟體包有自己的發行版本號,它們之間存在相互依賴性 你需要乙個包的特別的版本來執行另外乙個包的特別版本.linux 發布的建立者常常要處理匹配軟體包的繁瑣問題,這樣使...

1 版本控制

1 本系列文章環境 os windows 8.1專業版 64位 ide eclipse 4.3 r2 kepler tools subversion 32位 setup subversion 1.8.13 x32.msi apache http server 32位 httpd 2.4.12 x86...