原文链接:Client IP safelist for ASP.NET Core 作者:Damien Bowden and Tom Dykstra 译者:Lamond Lu 本篇博文中展示了如何在ASP.NET Core应用程序中设置IP白名单验证的3种方式. 你可以使用一下3种方式: 使用中间件检查每个请求的远程IP地址 使用Action过滤器为指定的Controller或action方法添加针对远程IP地址的检查 使用IPageFilter为Razor Pages应用添加针对远程IP地址的检…
随着ASP.NET的发展,有不同的方式从请求中访问客户端IP地址.WebForms和MVC Web应用程序只是访问当前HTTP上下文的请求. var ip = HttpContext.Current.Request.UserHostAddress; 或者只是直接引用当前的Request var ip = Request.UserHostAddress; 但是,这在ASP.NET Core 2.0及更高版本中不起作用.您必须从ConfigureServices方法中的Startup.cs类中注入 …
在使用负载均衡的情况下,通过 context.Connection.RemoteIpAddress 获取到的是负载均衡的 IP 地址,需要通过 X-Forwarded-For 请求头才能获取到客户端的真实 IP . 之前采用的方式是自己直接获取 X-Forwarded-For 请求头,代码如下: public static class HttpContextExtensions { public static string GetUserIp(this HttpContext context)…