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

问题描述 投票:2回答:2

我已经经历了几个论坛(将文件添加到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#项目中直接爬网(如CSS的内容或Scripts for JS)或直接在IIS 10上?

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

c# asp.net asp.net-mvc-5 iis-10
2个回答
1
投票

MySolution:

我只需通过IIS 10设置我的文件夹 - >站点 - > NameOfWebSite - > RequestFiltering - >隐藏段 - >添加隐藏段

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

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

0
投票

默认情况下,IIS仅在请求ASP.NET资源(如ASP.NET网页,Web服务等)时调用ASP.NET运行时。请求静态内容,如图像,CSS文件,JavaScript文件,PDF文件,ZIP文件等由IIS检索,无需ASP.NET运行时的参与。在ASP.NET中您可以编写自定义HTTP处理程序来检查文件的授权。

© www.soinside.com 2019 - 2024. All rights reserved.