我在某處讀到他們說HTTP_X_FORWARDED_FOR不是可信變量,當你想記錄用戶的IP時,因爲他們可以改變它。這是真的嗎?如何?如何手動設置HTTP_X_FORWARDED_FOR的值?
非常感謝!
我在某處讀到他們說HTTP_X_FORWARDED_FOR不是可信變量,當你想記錄用戶的IP時,因爲他們可以改變它。這是真的嗎?如何?如何手動設置HTTP_X_FORWARDED_FOR的值?
非常感謝!
使用的代理可以將此標頭設置爲任何想要的,因此您不能相信它的值。儘管大多數代理都設置了正確的值。這個頭文件通常被緩存代理使用,在這種情況下,您可以控制代理,並且可以驗證是否爲您提供了正確的信息。在所有其他情況下,其價值應被視爲不值得信賴。閱讀更多關於the Wikipedia article about X-Forwarded-For
。
沒錯,下載Fiddler以查看所有HTTP請求如何修改。學習HTTP如何工作也是一個好主意,那麼它就會很清晰。
正如答案here所指出的那樣,HTTP_X_FORWARDED_FOR變量的正確標題是x-forwarded-for。因此,您可以在Fiddler中設置自定義請求:
GET http://my.site/ HTTP/1.1
User-Agent: Fiddler
x-forwarded-for: my.x.forward.for.value
Host: my.host