如何编辑的web.config停止投放.NET Web应用程序的特定文件类型(How to edit

2019-09-22 10:33发布

我想,以防止用户通过他们的浏览器访问特定类型的文件。 例如,IIS服务器块访问的.config和默认的.vb文件,赋予错误消息“的类型是否要求不提供服务,因为它已被明确禁止的网页”,我想添加其他文件类型此行为。

有什么我可以添加到应用程序的web.config文件? 我宁愿不使用阻断目录访问处理它<authorization>元素。

Answer 1:

在IIS 7+,请求过滤可以在应用级上完成。 添加下面的代码在web.config中:

<system.webServer>
    <security>
        <requestFiltering>
            <fileExtensions>
                <add fileExtension=".vbs" allowed="false" />
            </fileExtensions>
        </requestFiltering>
    </security>
</system.webServer>

对于IIS 6,上述不会工作,但你可以模仿存在类似的.cs文件页面的默认阻止行为,虽然你可能不得不作出在服务器端的变化。 首先,添加以下到您的应用程序的web.config:

<system.web>
    <httpHandlers>
        <add path="*.vbs" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/>
    </httpHandlers>
</system.web>

如果asp.net设置为处理该文件类型,像的.cs,那么你就大功告成了。 但是,如果你的意思是阻止的文件类型由IIS处理,而不是asp.net(像.VBS),这是不够的。 你将不得不在IIS管理器中修改文件扩展名映射为显示在这里 。



Answer 2:

文件夹中为什么存储非网络服务提供的文件通过IIS 我通常是这样的:

\www.mywebsite.com\wwwroot\
\www.mywebsite.com\secureimages\
\www.mywebsite.com\virutaldirectories\

在IIS我的wwwroot是我的网站的根,我的MVC应用程序是通过secureimages目录服务图像的This.File ,因此图像不可用,我就必须通过编程允许它。 我会假设你的程序也提供文件服务,如果是这样,这些文件不需要以任何方式IIS可以直接作为文件可用。



Answer 3:

您可以尝试location Web.Config中的节点

<location path="...">
        <system.web>
            <authorization>
                <!-- Order and case are important below -->
                <allow roles="Admin"/>
                <deny users="*"/>
            </authorization>
        </system.web>
    </location>

链接: http://msdn.microsoft.com/fr-fr/library/b6x6shw7.aspx



Answer 4:

如果使用的是IIS 7这可以在对ApplicationHost.config水平来完成。

http://www.iis.net/learn/get-started/planning-your-iis-architecture/introduction-to-applicationhostconfig

请求筛选部分: http://www.iis.net/configreference/system.webserver/security/requestfiltering

文件将显示为404返回码。

*注:由于此配置是在根级别,修改适用于该服务器上运行的所有应用程序。



Answer 5:

你必须设置IIS运行通过.NET管道那些文件的请求。 一个更好的策略是只阻止IIS的项目开始。 这样一来,你没有运行的开销,比方说,通过.NET管道PDF文件只是为了阻止该文件。



Answer 6:

请求筛选应该这样做。 它没有明确的扩展。 你可以在URL中使用正则表达式。

IIS 7.0请求筛选和URL重写



文章来源: How to edit web.config to stop serving a specific file type of a .NET web app