白名单IP地址

时间:2020-06-09 15:33:22

标签: c# httpcontext

我具有以下功能,如果在列表中未找到该IP地址,则会检查该IP地址列表,它将引发以下错误

public Task TestIp<T>(dynamic body)
        {
            var httpContext = DependencyResolver.GetService<IHttpContextAccessor>()?.HttpContext;


            if (!_ips.Contains(httpContext.Connection.RemoteIpAddress)) //passes ::1
            throw new Exception("invalid");
}

列表示例中的一个ip是127.0.0.1,它是本地主机。但是使用上面的代码,我得到了以下IP地址,以:: 1

的形式传递

这就是我尝试过的

var remoteIp = httpContext.Connection.RemoteIpAddress;
            remoteIp = remoteIp.MapToIPv4()

            if (!_ips.Contains(remoteIp))
            throw new Exception("invalid");

但现在remoteIp = 0.0.0.1 因此,现在remoteIp与存储的127.0.0.1 != 0.0.0.1

的IP地址不匹配

0 个答案:

没有答案
相关问题