根據預設的ASP.NET配置,App_Data下的資源是禁止通過Url形式直接訪問的,在實際開發中,可能也會有這樣的需求,比如某些是系統資源目錄,該目錄下的資源也需要像App_Data目錄一樣禁止訪問 下麵通過例子說明,首先由一個ASP.NET Web應用程式,App_Data目錄下有一個1.txt ...
根據預設的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