【发布时间】:2013-10-29 06:35:20
【问题描述】:
我正在尝试保护我的 MVC 应用程序,并且我想对 url 嗅探器隐藏标准文件夹结构。
例如。我有一个 Controllers 文件夹。如果我尝试通过
到达它我收到一个 403.14 状态码。如果我做一个不存在的目录:
我得到一个 404。
我想隐藏这些标准的 mvc 目录,这样你就不能进行目录嗅探了。 所以这是我的问题:我可以通过 IIS 添加隐藏的部分,然后得到我想要的 404 响应,但是当我将以下 xml 添加到我的 web 配置中时,我仍然得到 403.14 状态代码.
<system.webServer>
<security>
<requestFiltering>
<hiddenSegments>
<add segment="Controllers"/>
</hiddenSegments>
</requestFiltering>
</security>
...
任何原因这种添加隐藏段的方式不起作用,但手动操作可以吗? (注意:我正在使用 IIS 8 运行窗口 8)
【问题讨论】:
-
当您发布到 Web 服务器时,这些 MVC 目录在 Web 服务器上不存在。控制器目录下的所有代码都编译到 bin/{project}.dll 中。该目录显示的唯一原因是因为您将其中的文件设置为“内容”。
-
谢谢 Tommy,我忘记了当我使用指向我的 dev 文件夹的 IIS 运行时,部署的代码不包括这些文件夹,所以我不会得到 403。谢谢。
标签: asp.net-mvc iis