一个站点根目录下面有一个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 get 10 { 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.Path 25 })); 26 } 27 } 28 }