• ASP.NET 通过配置hiddenSegment禁止目录下资源通过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]DocumentsIISExpressconfig)

    打开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

  • 相关阅读:
    较快者等待较慢者发出通知
    Uint and uintptr in golang 非类型安全指针
    C10K C10M 通过DPDK+用户态协议栈来进行内核旁路来提升网络性能
    大型产品团队敏捷发布火车运行指南
    注册中心
    RPA(Robotic Process Automation,机器人流程自动化)
    Actor model
    基于Protobuf共享字段的分包和透传零拷贝技术
    基于etcd实现大规模服务治理应用实战
    删除 服务 注册表
  • 原文地址:https://www.cnblogs.com/godbell/p/7455863.html
Copyright © 2020-2023  润新知