当前位置: 首页 > news >正文

门户网站集群建设方案发布编程任务平台

门户网站集群建设方案,发布编程任务平台,电子商务平台起名,旅游网--个人网站建设 论文前言本篇展示了如何在ASP.NET Core应用程序中设置IP白名单验证的2种方式。你可以使用以下2种方式#xff1a;用于检查每个请求的远程 IP 地址的中间件。MVC 操作筛选器#xff0c;用于检查针对特定控制器或操作方法的请求的远程 IP 地址。中间件Startup.Configure方法将自定义… 前言本篇展示了如何在ASP.NET Core应用程序中设置IP白名单验证的2种方式。你可以使用以下2种方式用于检查每个请求的远程 IP 地址的中间件。MVC 操作筛选器用于检查针对特定控制器或操作方法的请求的远程 IP 地址。中间件Startup.Configure方法将自定义 AdminSafeListMiddleware 中间件类型添加到应用的请求管道。 使用 .NET Core 配置提供程序检索到该安全并将其作为构造函数参数进行传递。app.UseMiddlewareAdminSafeListMiddleware(127.0.0.1;192.168.1.5;::1); 中间件将字符串分析为数组并在数组中搜索远程 IP 地址。 如果找不到远程 IP 地址中间件将返回 HTTP 403 禁止访问。 对于 HTTP GET 请求将跳过此验证过程。public class AdminSafeListMiddleware {private readonly RequestDelegate _next;private readonly ILoggerAdminSafeListMiddleware _logger;private readonly string _safelist;public AdminSafeListMiddleware(RequestDelegate next,ILoggerAdminSafeListMiddleware logger,string safelist){_safelist safelist;_next next;_logger logger;}public async Task Invoke(HttpContext context){if (context.Request.Method ! HttpMethod.Get.Method){var remoteIp context.Connection.RemoteIpAddress;_logger.LogDebug(Request from Remote IP address: {RemoteIp}, remoteIp);string[] ip _safelist.Split(;);var bytes remoteIp.GetAddressBytes();var badIp true;foreach (var address in ip){var testIp IPAddress.Parse(address);if (testIp.GetAddressBytes().SequenceEqual(bytes)){badIp false;break;}}if (badIp){_logger.LogWarning(Forbidden Request from Remote IP address: {RemoteIp}, remoteIp);context.Response.StatusCode StatusCodes.Status403Forbidden;return;}}await _next.Invoke(context);} } 操作筛选器如果需要针对特定 MVC 控制器或操作方法的安全安全访问控制请使用操作筛选器。 例如。public class ClientIpCheckActionFilter : ActionFilterAttribute {private readonly ILogger _logger;private readonly string _safelist;public ClientIpCheckActionFilter(string safelist, ILogger logger){_safelist safelist;_logger logger;}public override void OnActionExecuting(ActionExecutingContext context){var remoteIp context.HttpContext.Connection.RemoteIpAddress;_logger.LogDebug(Remote IpAddress: {RemoteIp}, remoteIp);var ip _safelist.Split(;);var badIp true;if (remoteIp.IsIPv4MappedToIPv6){remoteIp remoteIp.MapToIPv4();}foreach (var address in ip){var testIp IPAddress.Parse(address);if (testIp.Equals(remoteIp)){badIp false;break;}}if (badIp){_logger.LogWarning(Forbidden Request from IP: {RemoteIp}, remoteIp);context.Result new StatusCodeResult(StatusCodes.Status403Forbidden);return;}base.OnActionExecuting(context);} } 在中 Startup.ConfigureServices 将操作筛选器添加到 MVC 筛选器集合。 在下面的示例中 ClientIpCheckActionFilter 添加了一个操作筛选器。 安全日志和控制台记录器实例作为构造函数参数进行传递。services.AddScopedClientIpCheckActionFilter(container {var loggerFactory container.GetRequiredServiceILoggerFactory();var logger loggerFactory.CreateLoggerClientIpCheckActionFilter();return new ClientIpCheckActionFilter(127.0.0.1;192.168.1.5;::1, logger); }); 然后可以将操作筛选器应用到具有 [ServiceFilter] 属性的控制器或操作方法[ServiceFilter(typeof(ClientIpCheckActionFilter))] [HttpGet] public IEnumerablestring Get() 在示例应用中操作筛选器将应用于控制器的 Get 操作方法。 当你通过发送来测试应用程序时HTTP GET 请求该 [ServiceFilter] 属性验证客户端 IP 地址。 如果允许访问 Get 操作方法则 操作筛选器 和 操作 方法将生成以下控制台输出的变体dbug: ClientIpSafelistComponents.Filters.ClientIpCheckActionFilter[0]Remote IpAddress: ::1 dbug: ClientIpAspNetCore.Controllers.ValuesController[0]successful HTTP GET 除 GET 之外的 HTTP 请求谓词将 AdminSafeListMiddleware 验证客户端 IP 地址。总结该案例完全可以改造成黑名单拦截。
http://wiki.neutronadmin.com/news/21588/

相关文章:

  • 营销推广型网站价格河南网站建设的详细策划
  • 事业单位网站建设费科目织梦医疗网站源码
  • 英文模板网站官方正版清理优化工具
  • ps临摹图片做网站的图片犯法吗高端购物网站建设
  • 做网站需要的软件17一起做网店普宁
  • 便捷的网站建设修改wordpress登录地址
  • 绵阳微信网站怎么自己做网站表白
  • 高端网站建设哪些好北京前端哪个培训机构好
  • 网站开发 群wordpress伪静态301
  • 免费手机个人网站个人网站设计怎么做
  • 成都市成华区建设局网站百度seo怎么样优化
  • node做网站后台网站建设怎么宣传
  • 有哪些可以做图的网站啊软件工程师面试常见问题
  • 大连建设执业资格注册中心网站手表 网站策划
  • 网站服务公司案例网站建设企业熊掌号
  • 网站建设与管理怎么样大数据分析软件
  • 昆明市住房和城乡建设局门户网站乐清网站优化推广
  • 绵阳网站设计制作商场设计分析
  • 奥运会网站制作呼叫中心十大外包公司
  • 汕尾网站网站建设网站建设陆金手指科捷11
  • 网站主题颜色网页设计板式网站
  • 浙江正规网站建设配件网站的规划方案
  • 晋城网站建设电话wordpress和抽奖页面
  • 什么都不懂做网站WordPress总是收到英文评论
  • 承德网站制作人才招聘企业管理咨询合同书范本
  • 用ps做网站导航无极网站建设
  • 云南云南省建设厅网站外网wordpress好慢
  • 福建大舟建设集团有限公司 网站青岛seo优化
  • 淘宝店标在线制作免费aso优化是什么意思
  • 公司网站建设怎么入账做网站怎么写预算