部署在IIS服务器的asp.net 网站,禁止访问指定类型文件

时间:2022-09-17 13:35:17

网站上的一些文件不希望用户访问,可以通过下面的方式简单实现。不需写代码(在IIS6下试验过)。

第一步,在IIS中实现映射。

哪些文件需要特殊处理。

通俗的将就是将哪种类型的文件交给特定的工厂来处理。通过这种方式可以实现自定义的请求方式。

请求到达IIS,然后IIS将请求交给我们设定的工厂处理。

对于aspx文件,默认是aspnet_isapi.dll由来处理的。

假如我们不希望用户通过浏览器直接看到网站上的xml文件,直接返回404。

首先需要在IIS中添加新的映射,将xml文件交由aspnet_isapi.dll来处理。当然,我们可以自己实现这样的功能。

部署在IIS服务器的asp.net 网站,禁止访问指定类型文件

如上图,点击配置按钮。

部署在IIS服务器的asp.net 网站,禁止访问指定类型文件

第二步,在web.config文件注册

 <system.web>
      <httpHandlers>
        <add verb="*" path="*.xml" type="System.Web.HttpNotFoundHandler" />
      </httpHandlers>
    </system.web>

这样就可以实现,当通过浏览器访问网站下的xml文件时,提示404.

补充说明

每一个文件夹都可以有自己的web.config文件,这点非常灵活,这种做法在MVC中比较普遍。