1. 程式人生 > 其它 >http請求頭中Referer的作用及危害

http請求頭中Referer的作用及危害

一、Referer

Referer是HTTP請求header中的一部分,其表示請求當前資源的客戶端來源,當瀏覽器(或模擬瀏覽器行為)向web伺服器傳送請求的時候,頭部資訊裡會攜帶Referer

例如:在 www.google.com 裡有一個 www.baidu.com 超連結,當點選這個連結跳轉到baidu的時候,瀏覽器向baidu發出的請求資訊裡就有:Referer=http://www.google.com

Referer的正確拼寫是referrfer,由於早期的HTTP規範的拼寫錯誤,於是決定將錯就錯。

1.作用

  • 防盜鏈:
    比如只允許某臺伺服器訪問我自己的圖片伺服器資源,則可校驗Http請求包中的Referer
    。判斷是不是特定伺服器的域名,若不是,則拒接響應。
  • 防止惡意請求:
    對於某些風險較高的檔案型別,可使用Referer使得該型別檔案只能來自我所指定的網站。

2.空Refer

Referer頭部的內容為空的情況:

  • 瀏覽器內直接輸入URL
  • Windows桌面的超連結圖示
  • 瀏覽器內書籤
  • 第三方軟體內容中的連結跳入

二、Referer的偽造

1.偽造為ip地址

  • 使用Firefox的X-Forwarded-For Header 外掛更改ip地址
  • 使用brup攔截請求包,在Proxy裡面傳送到Repeater,將Http頭中的X-Forwarded-For改為想改的ip

2.偽造為URL

  通過brup攔截,再使用Reapter修改Referer為想指定的URL