【问题标题】:Wrong client IP address错误的客户端 IP 地址
【发布时间】:2012-12-30 20:30:49
【问题描述】:

我正在从 ASP.NET 获取客户端 IP 地址。但是某些客户端 IP 地址收到 127.0.0.1。 有什么问题。如何获取有效的客户端 IP 地址?

我正在使用此代码:

    public static string GetIP()
{
    string clientIp = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    if (!string.IsNullOrEmpty(clientIp))
    {
        string[] forwardedIps = clientIp.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
        clientIp = forwardedIps[forwardedIps.Length - 1];
    }

    if (string.IsNullOrEmpty(clientIp))
        clientIp = HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"];
    if (string.IsNullOrEmpty(clientIp))
        clientIp = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

    return clientIp.ToString();
}

【问题讨论】:

  • 127.0.0.1 是本地主机地址,我想您是从托管它的同一台计算机连接到该页面?
  • 只是猜测?但可能是代理问题。看看stackoverflow.com/questions/7445592/…
  • sircapsolat,我想是的。但我找不到解决方法。

标签: c# asp.net iis-7


【解决方案1】:

127.0.0.1 是本地主机,即同一台机器正在发出请求,因为它正在托管它。

我的猜测是,您所看到的实际上是您自己的测试或调试?

我认为 Request.IsLocal() 是找出问题的好方法。

【讨论】:

  • 攻击我的服务器这个 IP。它每秒创建 100-200 个会话。
猜你喜欢
  • 2017-09-11
  • 1970-01-01
  • 2011-10-04
  • 1970-01-01
  • 2011-10-22
  • 2019-01-14
  • 1970-01-01
  • 1970-01-01
  • 2013-04-20
相关资源
最近更新 更多