ASP.Net MVC 3 Web可见的文件夹

时间:2012-01-11 21:52:37

标签: asp.net-mvc

我有一些我希望Web服务器能够使用的敏感文件,但我不希望它们可以从Web浏览器访问。

我很难找到任何描述ASP.Net中哪些文件夹是托管宣传以及哪些是私有的文档。例如,我知道Content和Scripts目录是公共的,但我看不到任何显示授予访问这些路径的配置或选项。

Web可访问哪些文件夹?放置这些敏感文件在哪里安全?

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

  

有一些我希望Web服务器能够访问的敏感文件   使用,但我不希望它们可以从网络浏览器访问。

~/App_Data适合你。以下是不同ASP.NET special folders的列表。

答案 1 :(得分:2)

我不确定哪些特殊文件夹被锁定(除了App_Data&amp; bin),但您可以通过向<authorization/>添加<location/>部分来阻止任何文件夹被Web访问你的web.config部分:

<!-- Block access to Admin directory -->
<location path="Admin">
    <system.web>
        <authorization>
            <deny users="*" />
        </authorization>
    </system.web>
</location>

或者,您可以将web.config直接添加到要阻止的目录,其中包含以下内容:

<?xml version="1.0"?>
<!-- This web.config blocks access to any directory it is put in, 
     and its subdirectories -->
<configuration>
    <system.web>
        <authorization>
            <deny users="*" />
        </authorization>
    </system.web>
</configuration>

这些方法功能相同,只取决于您的偏好。就个人而言,我认为在你阻止访问的目录中使用web.config文件有点不那么容易混淆。