2014-09-13 26 views
0

將用戶的文件(圖像,文檔等)存儲在web config文件夾中是否是一種好的做法?無論如何會影響我的網站?因爲我知道將動態/用戶的文件存儲在BIN文件夾中是不可接受的。所以現在我試圖建立一個文件夾路徑來存儲我的動態文件。另一個原因是我的服務提供商說我只允許將文件存儲在我存儲我的網站的文件夾中,因爲我將我的網站託管在他們的共享服務器上。Asp.Net:是否保存上傳和文件在Web配置文件夾?

+0

這種方法存在潛在的安全問題 - 如果由於某種原因,某種用戶發佈的不是「圖像」或「文檔」而是可執行文件(* .asp,* .aspx,* .asmx ,其他幾十個擴展),過了一會兒,她可以調用對該文檔的請求,服務器將在其旁邊高興地執行它。 – 2014-09-13 17:44:47

+0

好點,那麼最好的選擇是什麼? – 2014-09-13 17:50:39

+0

有一個單獨的文件夾,其他地方,不在您的應用程序文件夾下。或者嘗試選取其中一個不可導航的文件夾(App_Data,App_Code)。 – 2014-09-13 17:55:53

回答

1

它的安全存儲上傳的文件之一:

  • App_Data文件夾

  • 或下,網站的根文件夾之外。

這確保用戶無法導航到上傳的文件。

就你而言,你的服務提供者的限制意味着你應該將它們存儲在App_Data下。

+0

我在我的項目下看不到這個文件夾。我必須手動創建它(右鍵單擊+添加+新建文件夾)?如果不手動,那麼我可以按照什麼步驟來創建這個文件夾? – 2014-09-13 18:06:47

+0

找到了一個添加App_Data文件夾的選項。該文件夾是由VS自動創建的。感謝Joe – 2014-09-13 18:19:07

+0

這是否意味着我必須在App_data中存儲第三方dll?目前我將它們存儲在普通文件夾(.cs文件夾)中的一個文件夾中,然後將它們添加爲該普通文件夾的參考。 – 2014-09-13 18:24:44

0

'網頁配置文件夾'並不存在。 web.config是一個文件,可以存在於您的網站目錄結構中的任何級別。

要回答你的問題:只需在你的網站下的任何地方創建一個文件夾,並將文件存儲在那裏。如有必要,您可以爲每個用戶創建不同的目錄。這不應以任何方式對您的網站產生不利影響。但是...如果你期望成千上萬的文件,你可能需要另一種解決方案。

+0

好的。非常感謝Darius – 2014-09-13 17:48:06