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

标签 c# asp.net asp.net-mvc-5 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 -> Site -> NameOfWebSite -> RequestFiltering -> Hidden Segments -> Add hidden segment 设置我的文件夹

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

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

关于c# - 在 IIS 10 上禁用对 ASP.MVC 5 中文件的直接 URL 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49746898/

相关文章:

c# - C# 中的元组展开类似于 Python

c# - 如何在 ASP.Net Core Razor 页面上重定向

asp.net - html body中的Javascript遇到时是否执行?

c# - asp.net c# 如何统计网站访问量

entity-framework - EF 迁移忽略字符串属性的 [Required] 属性并创建可为空的字段

asp.net-mvc - 防止提交按钮出现在 'new line'

c# - 在进程中创建新的应用程序域时发出通知

c# - .NET : Local date format from language tag/culture?

asp.net-mvc - MVC 5 上的成员资格提供程序是什么?

c# - 如何从 PropertyGrid 中删除/隐藏 'Property Pages' 按钮?