2012-01-11 59 views
2

我有一些敏感文件,我希望Web服務器能夠使用,但我不希望它們可以通過Web瀏覽器進行訪問。ASP.Net MVC 3 Web可見文件夾是什麼

我很難找到任何描述ASP.Net中的哪個文件夾被公開展示並且哪些是私有的文檔。例如,我知道內容和腳本目錄是公開的,但我看不到配置或選項顯示授予對這些路徑的訪問權限。

什麼文件夾可以通過網絡訪問?將這些敏感文件放在哪裏是安全的?

感謝您的幫助!

回答

2

有一些敏感文件,我希望網絡服務器能夠使用 ,但我不希望它們可以通過網絡瀏覽器進行訪問。

~/App_Data是給你的。以下是不同的ASP.NET special folders的列表。

+0

有沒有關於其他文件夾默認分片的文檔?或者是一些指定文件共享的配置文件? – 2012-01-11 22:07:50

+0

@metalideath,我懷疑它。有關於ASP.NET特殊文件夾的文檔以及它們的作用是什麼:http://msdn.microsoft.com/en-us/library/ex526337.aspx – 2012-01-11 22:10:07

+0

是的,我來自更多的Java背景。我發現ASP.Net和C#文檔的質量和數量與Java相比很差。我真的很驚訝,我希望微軟有更好的文檔。 – 2012-01-11 22:24:07

2

我不知道哪些特殊文件夾被鎖定(除了程序App_Data &箱),但你可以從被添加<authorization/>部分到<location/>部分,你的web.config網絡訪問的阻止任何文件夾:

<!-- Block access to Admin directory --> 
<location path="Admin"> 
    <system.web> 
     <authorization> 
      <deny users="*" /> 
     </authorization> 
    </system.web> 
</location> 

或者,也可以直接添加web.config中要阻止的目錄,包含以下內容:

<?xml version="1.0"?> 
<!-- This web.config blocks access to any directory it is put in, 
    and its subdirectories --> 
<configuration> 
    <system.web> 
     <authorization> 
      <deny users="*" /> 
     </authorization> 
    </system.web> 
</configuration> 

這些方法在功能上相同,我T只取決於你的偏好。就我個人而言,我認爲讓阻止訪問的目錄中的web.config文件不那麼令人困惑。

+0

我真的很喜歡那種能給我帶來的想法。我開始認爲ASP.Net共享除您提到的那兩個文件夾之外的所有文件夾。它只是默認阻止某些擴展名,例如全局.cs。 – 2012-01-11 22:28:02

+1

我不確定是否有關於哪些擴展被阻止的文檔,但您可以在存儲在C:\ Windows \ Microsoft.NET \ Framework \ {version} \ Config \ web.config中的根網絡配置中找到它們(其中{版本}是Web使用的.NET版本。) 查找類似於<' – 2012-01-11 22:34:49