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]\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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM