你的位置:首页 > ASP.net教程

[ASP.net教程]asp.net站点阻止某个文件夹或者文件被浏览器访问


一个站点根目录下面有一个Config文件夹,这个文件夹里面都是一些json格式的txt文本,文本是一种静态资源,如果知道这个文本的地址,就可以在浏览器中输入地址打开这个文本,别人就可以看到站点的配置,这是不希望的结果,所以就需要让这个文件夹禁止被浏览器访问。

 
方法一:
把*.txt的文件后缀修改为*.config,asp.net默认不能够访问.cs、.config等后缀的文件。注:在vs中添加一个config文件,然后编写需要的配置内容,推荐这种形式。
 
方法二:
<handlers>
    <add name="test" path="/config/*.txt" verb="*" type="System.Web.HttpForbiddenHandler"/>
 </handlers>

 
HttpForbiddenHandler:
 1 using System; 2  3 namespace System.Web 4 { 5   internal class HttpForbiddenHandler : IHttpHandler 6   { 7     public bool IsReusable 8     { 9       get10       {11         return true;12       }13     }14 15     internal HttpForbiddenHandler()16     {17     }18 19     public void ProcessRequest(HttpContext context)20     {21       PerfCounters.IncrementCounter(AppPerfCounter.REQUESTS_NOT_FOUND);22       throw new HttpException(403, SR.GetString("Path_forbidden", new object[]23       {24         context.Request.Path25       }));26     }27   }28 }