隐藏的段通过web.config添加时不起作用

时间:2013-10-28 21:15:44

标签: asp.net-mvc iis

我正在尝试保护我的MVC应用程序,并且我想隐藏url嗅探器的标准文件夹结构。

例如。我有一个Controllers文件夹。如果我试图通过

来达到它
  

http://www.myDomain.com/Controllers

我收到了403.14状态代码。如果我做一个不存在的目录:

  

http://www.myDomain.com/NonExistantDirectory

我得到了404。

我想隐藏这些标准的mvc目录,这样就无法进行目录嗅探。 所以这是我的问题:我可以通过IIS添加隐藏的分段,然后我得到我想要的404响应,但是当我将以下xml添加到我的web配置时,我仍然得到403.14状态代码

<system.webServer>
    <security>
      <requestFiltering>
        <hiddenSegments>
          <add segment="Controllers"/>
        </hiddenSegments>
      </requestFiltering>
    </security>
...

这种添加隐藏段的方式不起作用,但手动操作有用吗? (注意:我正在运行Windows 8,使用IIS 8)

1 个答案:

答案 0 :(得分:0)

确保在IIS集成IIS管道模式下运行应用程序,该模式使用<system.webServer>部分而不是<system.web>。例如,如果在Visual Studio中运行此操作,请确保已在IIS Express中托管应用程序,而不是内置的Cassini Web服务器。另一方面,如果您在真正的IIS Web服务器中托管应用程序,请确保应用程序池使用集成管道模式,而不是传统管道模式。