1. 程式人生 > 實用技巧 >meta標籤 referrer

meta標籤 referrer

由於需要跳轉訪問的頁面帶有 網站訪問限制,需要控制網頁傳送給伺服器的referrer資訊設定為空

<metaname="referrer"content="no-referrer">

HTML<meta>標籤name="referrer"屬性主要用於控制網頁傳送給伺服器的referrer資訊,可以告訴伺服器端使用者是從哪個頁面來到當前網頁的。

什麼是referrer,referrer的作用,referrer的隱患

referrer有“引用頁面”或“來源頁面”的意思,用來指定當前頁面是從哪個頁面跳轉過來的,也就是說HTTP請求報頭中的referrer包含了跳轉至當前頁面的上一個頁面的url地址;

比如,你點選A頁面中連結到B頁面的URL地址,當你從瀏覽器進入B頁面時,會向伺服器傳送請求,在這個請求的報頭中會帶上一個referrer,包含了A頁面的URL地址;

referrer可以告訴你使用者是從哪個頁面url地址過來的,這樣就可以用來統計使用者的來源,還可以用於分析使用者的興趣愛好、收集日誌、優化快取等等。

如果禁止referrer,可以防止盜鏈,或也可以繞過防盜鏈,也能防範一些攻擊。

如果網頁中,由於涉及隱私和安全問題,防止 referrer 洩漏就顯得很重要了。
比如,很多情況下我們的url會包含使用者的個人資訊。因此,有時候,我們需要移除或禁用頁面上的referer資訊

再比如,在後臺中使用了referer屬性,會導致js和php的一些跳轉出現問題,同時,也很有可能會導致一些第三方的統計程式碼失效,比如cnzz,百度統計,解決方法是不用該屬性,或者使用iframe包裹一層,用一個獨立的html頁面載入統計程式碼!

referrer屬性寫法

在html頁面中的<head>頭部區域用meta標籤新增referrer屬性,referrer有五種屬性

No Referrer (永遠不做記錄)

No Referrer When Downgrade(瀏覽器預設,當降級時候不記錄,從https跳轉到http)

Origin Only(只記錄 協議+ host)

Origin When Cross-origin(僅在發生跨域訪問時記錄 協議+host)

Unsafe URL(永遠記錄)

<meta name="referrer" content="屬性值">