.net mvc主机标头注入-http模块-400错误请求
我的任务是减轻MVC应用程序中主机头的注入。除此之外,我希望通过创建HTTP模块来实现白名单检查 到目前为止,我使用的是如下内容: web.config条目:.net mvc主机标头注入-http模块-400错误请求,.net,asp.net-mvc,httpmodule,header-injection,.net,Asp.net Mvc,Httpmodule,Header Injection,我的任务是减轻MVC应用程序中主机头的注入。除此之外,我希望通过创建HTTP模块来实现白名单检查 到目前为止,我使用的是如下内容: web.config条目: <system.webServer> <modules> <add name="TestHttpModule" type="MVC5TestApp.MyHttpModule, MVC5TestApp" /> </modules> </system.w
<system.webServer>
<modules>
<add name="TestHttpModule" type="MVC5TestApp.MyHttpModule, MVC5TestApp" />
</modules>
</system.webServer>
对于MVC,更干净的解决方案是实现一个
IActionFilter
来执行验证。在OnActionExecuting
中,您可以执行头检查,并强制那里的响应(HTTP 400)短路请求流的其余部分
您的OnActionExecuting
实现如下所示
if(!ValidateWhiteListedHeaders(context.HttpContext.Request.Headers)){
context.Result = new StatusCodeResult(400);
return;
}
有关MVC,请参见,更干净的解决方案是实施一个
IActionFilter
来执行验证。在OnActionExecuting
中,您可以执行头检查,并强制那里的响应(HTTP 400)短路请求流的其余部分
您的OnActionExecuting
实现如下所示
if(!ValidateWhiteListedHeaders(context.HttpContext.Request.Headers)){
context.Result = new StatusCodeResult(400);
return;
}
参见我也考虑过这种方法,并将继续跟进。您知道强制使用HTTP 400的最佳方法吗?我也考虑过这种方法,并将继续跟进。您知道强制HTTP 400的最佳方法吗?