【问题标题】:.net HTTP_X_FORWARDED_FOR NULL on localhost.net HTTP_X_FORWARDED_FOR 本地主机上的 NULL
【发布时间】:2015-05-05 18:05:50
【问题描述】:

抱歉,如果这已在其他地方得到回答,我找不到它。

如果没有,我正在尝试查找访问该站点的机器的原始 IP。

在我的基本理解中,变量HTTP_X_FORWARDED_FOR 将显示用户的IP,而不考虑代理和其他过滤器。如果这是真的,我正在尝试对此进行编码,但我得到一个空字符串

System.Web.HttpContext context = System.Web.HttpContext.Current;
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; 

可能的问题是HTTP_X_FORWARDED_FOR 没有出现在 HTTP HEADERS/服务器变量列表中,或者我使用的是 localhost?使用REMOTE_ADDR,显示本地主机IP。

我是在正确的路线上还是我的理解不正确?

谢谢

【问题讨论】:

    标签: c# asp.net http-headers ip


    【解决方案1】:

    HTTP_X_FORWARDED_FOR 标头通常包含代理值,因此您在本地计算机上看不到任何内容是正常的,因为您没有通过任何代理

    【讨论】:

    • 太棒了。我明白。所以当我意识到它到外部DNS时,HTTP_X_FORWARDED_FOR的值不会是NULL?
    • 是的,应该是这样,但是某些防火墙会更改请求标头,因此您需要进行测试以确保
    • SO = Stackoverflow,它会阻止您在一段时间内标记答案。
    猜你喜欢
    • 2011-05-13
    • 2021-05-12
    • 1970-01-01
    • 2012-06-13
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多