我有一個c#.net應用程序,允許用戶上傳文檔。然後掃描文檔以查找惡意軟件並保存。這些文檔保存在共享文件和上傳文件夾中。共享文件位於單獨服務器上的Intranet上。 uploads文件夾與應用程序位於同一目錄中,但不是應用程序的一部分。主機服務器正在運行iis 7,目錄列表關閉。如何保護上傳的文檔免於以網絡形式直接訪問
問題是,如果外部用戶能夠猜測命名約定和文件名,他們可以在瀏覽器中輸入並查看文檔。
該應用程序在用戶帳戶下運行。我們已經嘗試在上傳文件夾上設置權限,以僅允許應用程序用戶帳戶訪問權限,該權限不起作用。
我也嘗試添加一個Web配置文件夾:
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow users="application_user_account" />
<deny users="?" />
</authorization>
</system.web>
</configuration>
放置在上傳文件夾內時,這沒有工作,但是當它被小心將其置於一個文件夾一個上來等級,服務器拒絕所有用戶可以訪問環境中託管的所有應用程序。
有沒有人有解決方案來防止在這種情況下直接訪問上傳文件夾?
我一直在嘗試今天實現此解決方案。我發現這篇關於使用App_Data文件夾的文章:http://www.codeproject.com/Articles/31557/A-Beginner-s-Guide-to-ASP-NET-Application-Folders#h我需要設置一個數據庫文件進入App_Data文件夾,然後我可以將文件插入?最初我遇到拒絕訪問錯誤,但在調整路徑後,我能夠在不丟失錯誤的情況下通過應用程序,但是這些文件未登錄到我的App_Data文件夾中,並且在包含這些文件的服務器上沒有創建App_Data文件夾文件。 – rogerdeuce