2010-11-21 154 views
0

我需要非常先進有效的防止用戶在asp.net中直接從網站下載文件的方法。防止用戶直接從網站下載文件,如何?

方法應該 -

限制下載, 限時間,限 請求, 等

而是應該通過下載活躍登錄用戶

+2

您需要提供非常詳細的方案得到任何明智的答案。提供所有相關詳細信息,以幫助人們提供有用的答案。就目前而言,您的問題的答案是 - 不要將文件放在服務器上 - 這樣,沒有人可以下載它。 – 2010-11-21 13:52:48

+0

什麼樣的文件? – Ruel 2010-11-21 13:55:46

+0

任何類型的文件(.zip,.exe,.msi,.rar) – Code0987 2010-11-21 14:11:28

回答

1

存儲文件夾中的文件,這是無法通過IIS訪問(即未下你的web應用程序的根)

創建ashx的通用處理器,這需要文件標識符(或者文件名,或某種形式的ID )作爲QueryString參數。

在那個.ashx中,執行你想要執行的任何檢查:用戶是否登錄?他們是否下載過多文件?等

然後,如果你決定他們應該被允許下載,設置適當的響應頭和文件寫出來,希望Response.OutputStream

+0

我很滿意。謝謝 – Code0987 2010-11-22 09:28:45

2

從服務器上刪除該文件。

任何試圖下載它的用戶都不會成功。

2

您可以將文件放入目錄並將該目錄配置爲不可由公共用戶訪問。

+0

但非公共用戶分組(自由,正常,電源) – Code0987 2010-11-21 14:12:38

+0

一個選項可能是創建嵌套目錄。 例如,創建一個名爲「free_user_files」的目錄。在此目錄內創建另一個目錄「normal_user_files」。 並在「normal_user_files」中創建另一個名爲「power_user_files」的目錄。 然後執行以下操作: 一)給所有3組,獲得了「normal_user_files」 B)只給正常和電力用戶,獲得了「normal_user_files」 C)最後,只給電力用戶,訪問到最內層的目錄「power_user_files」。 – Hps 2010-11-21 19:10:58

相關問題