ASP.NET 通过配置hiddenSegment禁止目录下资源通过Url形式访问_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > ASP.NET 通过配置hiddenSegment禁止目录下资源通过Url形式访问

ASP.NET 通过配置hiddenSegment禁止目录下资源通过Url形式访问

 2017/8/31 3:08:52  Jichan·Jong  程序员俱乐部  我要评论(0)
  • 摘要:根据默认的ASP.NET配置,App_Data下的资源是禁止通过Url形式直接访问的,在实际开发中,可能也会有这样的需求,比如某些是系统资源目录,该目录下的资源也需要像App_Data目录一样禁止访问下面通过例子说明,首先由一个ASP.NETWeb应用程序,App_Data目录下有一个1.txt文件当通过Url想直接访问该资源时上图中,蓝色的“Viewmoreinformation”是一个链接,点击可以查看帮助页,帮助页中的解决方案如下:(由于本人使用的是VisualStudio2015
  • 标签:.net ASP.NET 目录 net 配置 URL 资源

根据默认的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

上一篇: Linux+.NetCore+Nginx搭建集群 下一篇: 没有下一篇了!
发表评论
用户名: 匿名