2014-05-01 99 views
0

最近我看到一個在ASP.Net中開發的Web應用程序,其中的用戶被允許從存儲在app_code文件夾中的網頁上載Excel文件。然後讀取該文件並將其存儲到數據庫中,並在加載後從文件夾中刪除。所以我的問題是,將用戶上傳的文件存儲在app_code文件夾中是否正確?是否允許用戶將文件上傳到app_code文件夾?

回答

1

不允許用戶上傳任何東西到app_code。上傳到app_code文件夾的類文件會在整個應用程序中自動編譯和引用。這將是一個巨大的安全漏洞,讓用戶上傳文件到那裏。

+0

文件臨時存儲在文件夾中(10到15秒),並在數據加載完成後立即刪除。它會不會導致安全問題?如果是,那麼存儲用戶上傳文件的最佳位置是什麼? – praveen

+0

再次,上傳到app_code文件夾的任何內容都會被編譯,並且*立即*在整個項目中被引用。這是一個巨大的安全漏洞,允許用戶將任意文件上傳到app_code。您最好創建一個名爲「Uploads」的文件,並使用Server.MapPath(「〜/ Uploads」)引用它。無論採取什麼方法,都不要*允許用戶上傳到app_code。 – matt

1

通常,所有用戶生成的內容都應該保持在應用程序路徑之外。相反,在IIS中創建一個虛擬文件夾,指向一些專用文件存儲位置,然後上傳到該文件夾​​。通過這種方式,當您將更新推送到您的應用程序時,您不必擔心會上傳內容。