white switch hub turned on

x-forwarded-for 的作用

通常一個網路連線可以輕易的看到對方的 ip address 。 HTTP response header 裡面有一個叫做 x-forwarded-for 的欄位,裡面有時候也會裝 ip address 。雖然看起來很像是 source ip ,但意思並不完全等價。

一個網路連線可以輕易的看到對方的 ip address 。但很多層的 HTTP 轉發會讓 source ip 欄位內容沒有參考性。

x-forwarded-for 給我們一個機會可以追蹤到實際上客戶端所使用的 ip address ,只要中途的每一層 HTTP proxy 都很誠實的把 x-forwarded-for 加上。理論上正規的 HTTP proxy 往下一層傳送的時候,會把他收到的 source ip 添加到 x-forward-for 的最右邊,效果類似於 JavaScript 的 Array.push(sourceIp) 。

這個 x-forwarded-for 會讓我們更好追蹤實際的用戶端是誰,他所處的地理位置。我們可以透過對客戶端 ip address 調查來獲得更多的實際用戶端資訊。但對於前一層的 source ip ,你不會在 x-forwarded-for 看到任何資訊。

獲得資訊後你可以選擇要不要對這個請求做額外的處理。舉例來講 AWS WAF 可以針對這個 ip 資訊做限流。


Posted

in

by

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *