【问题标题】:Detecting user IP address connecting behind cloudflare检测 cloudflare 后面连接的用户 IP 地址
【发布时间】:2018-08-05 16:22:33
【问题描述】:

我有一段代码如下:

public static class RequestExtensions
    {
        public static string GetIpAddress(this HttpRequestBase request)
        {
            if (request.Headers["CF-CONNECTING-IP"] != null)
                return request.Headers["CF-CONNECTING-IP"];

            var ipAddress = request.ServerVariables["HTTP_X_FORWARDED_FOR"];

            if (!string.IsNullOrEmpty(ipAddress))
            {
                var addresses = ipAddress.Split(',');
                if (addresses.Length != 0)
                    return addresses[0];
            }

            return request.UserHostAddress;
        }
    }

这应该可以帮助我找出通过 cloudflare 连接到我的网站的用户的真实 IP 地址...

问题是我现在不知道如何通过我的控制器调用这个扩展方法:

public actionresult Index()
{
// How do I now call the GetIpAddress extension method ??
}

有人可以帮帮我吗?

【问题讨论】:

    标签: c# asp.net-mvc


    【解决方案1】:

    Request 对象存在于操作范围内

    public ActionResult Index()
     {
       // Here is how you now call the GetIpAddress extension method
       var ipString = this.Request.GetIpAddress();
    }
    

    别忘了导入你的扩展方法

    using RequestExtensionsNamespance
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-10
      • 1970-01-01
      • 1970-01-01
      • 2014-01-24
      • 1970-01-01
      • 2012-11-29
      • 2011-02-08
      相关资源
      最近更新 更多