[英]How to disable Directory Browse in Web.Config
我有一個WebSite,我喜歡來自web.config文件的 拒絕目錄瀏覽器 。
這里我使用的代碼放在ROOT中。 不行。 我正在本地測試它所以使用URL LIKE http:// localhost:3214 /我仍然可以瀏覽CMS的目錄。
謝謝你的支持!
<configuration>
<location path="Cms">
<system.webServer>
<directoryBrowse enabled="false" />
</system.webServer>
</location>
</configuration>
一些資源:
http://www.expta.com/2008/03/configuring-virtual-directories-with.html
首先:並非所有內容都在<location>
塊中運行。
我找不到在<location>
不支持<system.webServer>
的肯定聲明,但我找不到任何建議允許它的情況。 這方面的證據是在(global) machine.config
,其中system.webserver
部分被定義為使用IgnoreSection
處理程序:ie。 它不是由標准的System.Configuration
實現處理的,而是為<location>
提供支持的配置處理的標准實現。
嘗試使用directoryBrowse
元素將web.config
添加到Cms
文件夾中,以確認瀏覽已被阻止。
Gibbok,這里沒什么不對,不要驚慌:)
假設您正在從Visual Studio內置的服務器瀏覽您的網站,這通常是正常情況。
我很確定如果你使用上面的代碼移動到IIS,目錄瀏覽的行為就像你想要的那樣。
嘗試在IIS中托管這個網站,讓我們知道發生了什么,謝謝。
<directoryBrowse>指令僅通過http協議控制目錄列表:http: //msdn.microsoft.com/en-us/library/ms691327%28v=vs.90%29.aspx
它不會對代碼產生任何影響,試圖從任何其他(甚至您自己的)應用程序中訪問該目錄。
@Edit:在編輯之后如果我說對了 - 我想, Deny Directory Browser的意思是預期的功能:使用瀏覽器在指定路徑中顯示目錄的內容。 是的,它可能無法在本地開發服務器上運行。 在IIs上嘗試吧!
我正在嘗試相同的代碼。 你所擁有的其實是正確的。 這是參考 。
當然它不適合我,我無法弄清楚為什么,直到我閱讀理查德的帖子並記得有人在該目錄中放置了一個web.config文件。 該文件將覆蓋主web.config文件中的行為。 在子目錄web.config中,顯式啟用了directoryBrowse選項(以及許多其他處理程序,yikes!)。 刪除該文件以及上面的內容對我有用。 它實際上將請求傳遞給下一個處理程序,這正是我想要的。
我在本地計算機上使用IIS 7。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.