2009-02-12 68 views
4

我正在構建一個內部網站,其主要功能是提供軟件下載。但有一點我想要提防的是人們尋找源代碼路徑並規避網站(該網站記錄下載以進行審計)。尋找一種方法來隱藏可下載文件的來源

有沒有辦法隱藏二進制文件的來源? (我使用ASP.NET)

回答

10

執行此操作的最佳方法是將文件放置在無法從Web訪問的目錄中,然後動態加載文件。

This article可能會有所幫助。

+0

這比我的想法要好。 – 2009-02-12 22:36:14

2

如果你真的想這樣做,那麼你可以做這樣的事情

  1. 生成隨機GUID類目錄名
  2. 複製任何文件到它
  3. 服務鏈接
  4. 幾分鐘後刪除它。
0

讓您的ASP頁面讀取文件並將其寫入頁面,以提供二進制數據。鏈接到該頁面進行下載。這樣他們永遠不會知道文件在磁盤上的位置。

像這樣:http://www.dotnetcurry.com/ShowArticle.aspx?ID=105&AspxAutoDetectCookieSupport=1但在你的ASP通過HTTP流。

本示例顯示了在HTTP流上編寫二進制文件時,只是使用文件作爲輸入源而不是數據庫。

http://aspnet.4guysfromrolla.com/articles/120606-1.aspx

2

您可以創建一個處理所有的文件請求,並基於某種獨特的ID返回的文件一個HttpHandler。因此,如果有人請求/files.ashx?id=24,他們會得到該文件,但不知道它在服務器上的實際位置。

此外,您可以使用url重寫,因此它看起來像用戶訪問物理文件路徑:/downloads/dog.img,但它實際上傳遞給處理程序:files.ashx?id = dog.img。這樣用戶甚至不會意識到在後臺使用了一個處理程序。

相關問題