【发布时间】:2015-01-19 07:14:24
【问题描述】:
我已获悉,在general Microsoft recommendation 之后,我们的网络服务器将被重新配置;除其他外,allowSubDirConfig setting 应设置为false。因此,我们的 ASP.NET 应用程序必须在其根级别使用单个 Web.config(顺便说一句,这对我们的应用程序来说是完全可以的)。
然而,ASP.NET MVC 为Views 目录使用“非根级别”配置文件(默认情况下!),其中包含一个简单(但很重要?)与 Web 服务器相关的部分:
<system.webServer>
<handlers>
<remove name="BlockViewHandler" />
<add name="BlockViewHandler"
path="*"
verb="*"
preCondition="integratedMode"
type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
关于a post by Phil Haack,这是与安全相关的,因此很重要。
由于其他 .NET Framework 相关部分 still work,因为 ASP.NET 运行时不遵循 allowSubDirConfig 设置,所以 ASP.NET MVC 应用程序仍然可以工作。因此,在一般使用过程中,被忽略的 Web 服务器配置并没有真正引起注意,尽管我对此有一种不好的感觉。
这不是一个糟糕的想法吗?如果 Web 服务器以这种方式配置(推荐),那么那些 ASP.NET MVC 应用程序有多脆弱?
【问题讨论】:
标签: asp.net asp.net-mvc security iis