ASP.NET 通过配置hiddenSegment禁止目录下资源通过Url形式访问
2024-08-24 18:22:27
根据默认的ASP.NET配置,App_Data下的资源是禁止通过Url形式直接访问的,在实际开发中,可能也会有这样的需求,比如某些是系统资源目录,该目录下的资源也需要像App_Data目录一样禁止访问
下面通过例子说明,首先由一个ASP.NET Web应用程序,App_Data目录下有一个1.txt文件
当通过Url想直接访问该资源时
上图中,蓝色的“View more information”是一个链接,点击可以查看帮助页,帮助页中的解决方案如下:
(由于本人使用的是Visual Studio 2015,Win10专业版系统,applicationhost.config文件位于%windir%\Users\[Cruurent User]\Documents\IISExpress\config)
打开applicationhost.config,发现其中一段如下:
下面来配置自己的目录禁止通过Url直接访问,类似App_Data那种
配置前
配置方式其实在上面的禁止访问提示页面已经给出了答案
在Web.config中作如下的配置
<?xml version="1.0" encoding="utf-8"?> <!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
--> <configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<hiddenSegments>
<add segment="Sysfolder"/>
</hiddenSegments>
</requestFiltering>
</security>
</system.webServer>
</configuration>
此时,再次浏览sysfolder目录下的1.txt,发现禁止了,提示如下:
参考链接:https://support.microsoft.com/zh-cn/help/942047/error-message-when-you-try-to-visit-a-web-page-that-is-hosted-on-iis-7
最新文章
- ASP.NET MVC 3 技术(九) 301永久重定向不带www域名到带www的域名
- for循环三个表达式的执行时间
- 七种常见阈值分割代码(Otsu、最大熵、迭代法、自适应阀值、手动、迭代法、基本全局阈值法)
- javascript学习第三课引用类型object
- C++ map详解
- EL函数
- 让你的PHP程序真正的实现多线程(PHP多线程类)(转)
- Qt中使用QProcess备份和恢复Mysql数据库
- csu 10月 月赛 I 题 The Contest
- dfs.replication 参数 动态修改
- 用于ARM上的FFT与IFFT源代码(C语言,不依赖特定平台)(转)
- PHP和MySQL Web开发学习笔记介绍
- java web(1)
- Vue系列之 =>; webpack结合vue使用
- PTA变成总结1
- centos7下kubernetes(2。kubernetes---start,重要概念)
- Windows7 VS2015 下编译 Python3.6.6
- mac-Navicat Premium 12连接Oracle
- Grafana 短信报警
- 用uliweb 创建项目