在 IIS 10 上禁止直接 URL 访问 ASP.MVC 5 中的文件

Disable direct URL access to the files in ASP.MVC 5 on IIS 10

我翻了几个论坛(添加文件到App_Data,写Handler),我一直在寻找解决方案,但至今没有成功。我在每个主.htaccess目录中都使用PHP,禁止直接访问地址和文件,但我不知道如何在用C#编写的ASP.MVC 5应用程序中设置。

在 .htaccess 中我使用这个:

<IfModule mod_authz_core.c>
    Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
    Order deny,allow
    Deny from all
</IfModule>

在 C# 项目中或直接在 IIS 10 上是否有任何选项只允许直接抓取某些目录(例如 Content for CSS 或 Scripts for JS)?

在我的 IIS 上,我禁用了目录浏览,但是例如,当我将 url 直接写入我的 XML 文件(我的 XML 数据库)时 https //:web.test.com/Def/db.xml,我得到了包含所有数据的文件。

我的解决方案:

我只是通过 IIS 10 -> 站点 -> NameOfWebSite -> RequestFiltering -> 隐藏段 -> 添加隐藏段[=20= 设置我的文件夹]

此操作添加到 Web.config 此代码块:

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