2011-02-23 67 views
1

我建立用戶可以在裏面購買,他們可以從他們的用戶登錄專區下載MP3文件的網站。我怎樣才能「鎖定」的文件,直到用戶購買?

在以前的應用程序,我開發的,我會允許管理員上傳的文件,它會在「/Uploads/MP3s/filename.mp3」存儲。但是,我需要確保安全,以便用戶在購買這些文件之前無法訪問這些文件。

什麼是最好的,而這樣做的最安全,方式是什麼?

回答

5

你應該有一個數據庫,在那裏您存儲哪個用戶買它的mp3。上傳的mp3不應該存儲在可公開訪問的文件夾中。將它們存儲在另一個文件夾然後httpfolder,但確保您的iis有權訪問此文件夾。這樣,沒有人可以猜測文件的路徑,因爲它不在http根目錄下。

使用它會檢查下載權限的下載頁面,然後才發送MP3用戶與Response.WriteFile(filename)和正確的MIME類型等

Protected Sub ServeMP3(ByVal f As FileInfo) 
    Response.Clear() 
    Response.ContentType = "audio/mpeg3" 
    Response.AddHeader("content-disposition", "inline; filename=" & f.Name) 
    Response.WriteFile(f.FullName) 
    Response.End() 
End Sub 

而是「內聯」(流播放)的,您可以使用「附件」強制下載文件

3

隱藏他們的HTTP處理程序,模塊,Web服務或頁面可以檢查請求的有效性,然後流的文件或顯示錯誤的背後/重定向到購買頁面。

這將通過隱藏有完全抽象掉了文件的真實路徑也優勢...安全(: