【问题标题】:How to set value for HTTP_X_FORWARDED_FOR manually?如何手动设置 HTTP_X_FORWARDED_FOR 的值?
【发布时间】:2010-07-09 10:44:31
【问题描述】:

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

非常感谢!

【问题讨论】:

    标签: http header


    【解决方案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
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        没错,下载Fiddler 看看如何修改所有HTTP Request。了解 HTTP 的工作原理也是一个好主意,然后就会一清二楚。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-04-24
          • 1970-01-01
          • 2011-03-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多