0

我正在尝试保护我的 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>
...

这种添加隐藏段的方式不起作用的任何原因,但是手动操作呢?(注意:我正在使用 IIS 8 运行窗口 8)

4

1 回答 1

0

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

于 2013-10-28T21:25:22.997 回答