如何手动设置HTTP_X_FORWARDED_FOR的值?

时间:2010-07-09 10:44:31

标签: http header

我在某处读到他们说当你想记录用户的IP时,HTTP_X_FORWARDED_FOR不是可信变量,因为他们可以改变它。这是真的吗?怎么样?

非常感谢!

3 个答案:

答案 0 :(得分:2)

使用的代理可以将此标头设置为它想要的任何内容,因此您无法信任其值。大多数代理确实设置了正确的值。此标头主要由缓存代理使用,在这些情况下,您可以控制代理,因此可以验证是否为您提供了正确的信息。在所有其他情况下,其价值应被视为不值得信任。详细了解the Wikipedia article about X-Forwarded-For

答案 1 :(得分:1)

这是正确的,下载Fiddler以查看所有HTTP请求的修改方式。此外,了解HTTP如何工作也是一个好主意,然后它将非常清晰。

答案 2 :(得分:1)

正如答案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