我在我的網站文件夾根目錄下有一個uploads文件夾。他們包含mp3。現在這個文件夾只能在用戶完成特定mp3的PayPal付款後才能訪問,即一旦付款完成,下載鏈接應通過電子郵件發送給他們,他們應該只能從該鏈接下載。您通常如何保護您的網站的高級部分?
我不需要額外的代碼,但我只是一個這樣的網站如何保護他們的優質內容的一般策略?
我正在使用PHP,但如果您對此感覺更舒適,您也可以在Asp.Net中提供策略。
我在我的網站文件夾根目錄下有一個uploads文件夾。他們包含mp3。現在這個文件夾只能在用戶完成特定mp3的PayPal付款後才能訪問,即一旦付款完成,下載鏈接應通過電子郵件發送給他們,他們應該只能從該鏈接下載。您通常如何保護您的網站的高級部分?
我不需要額外的代碼,但我只是一個這樣的網站如何保護他們的優質內容的一般策略?
我正在使用PHP,但如果您對此感覺更舒適,您也可以在Asp.Net中提供策略。
你應該只不是MP3文件存儲在從外部訪問的位置。相反,你給用戶的鏈接應該是一個頁面(PHP或任何東西)的鏈接,這將
喜歡的東西
download.php?mp3FileId=5435
的的download.php將檢查用戶是否被驗證,並已支付了文件5435,然後從受保護的資源讀取該文件,並將其流式傳輸到HTTP響應,並設置適當的內容類型。
發送鏈接到.php,而不是.mp3文件。如果用戶有權訪問文件 - 使用PHP顯示文件。
實例鏈接:
http://domain.com/download.php?file=music.mp3
腳本:
if($have_access) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Length: ' . filesize($file));
flush();
readfile($file);
}else{
die('You have no access.');
}
您可以通過多種方式來做到這一點。但是,您選擇哪個用戶應該被要求輸入用戶名/密碼才能訪問這些文件。
最簡單(也是最簡單)的方式 - 保護目錄中的htaccess文件。看到這個鏈接的教程:http://www.elated.com/articles/password-protecting-your-pages-with-htaccess/ 這是非常普遍的保護網站的會員和VIP區域。
最好的方法可能是讓用戶在您的網站上註冊並選擇他/她自己的用戶名/密碼,並在貝寶付款完成時激活帳戶。
然後我會去上面的
+1謝謝。 htaccess的一部分真的很有幫助。 – Jaggu
可能重複提出的
download.php?id=XXX
方法[如何使用Apache/PHP保護目錄從沒有登錄的用戶(http://stackoverflow.com/questions/ 7902417 /如何使用apache-php-to-protect-directories-from-users-that-arent-logged-in)或[如何從公開動態密碼保護文件(圖像,視頻,zip)並允許訪問僅對會員?](http://stackoverflow.com/q/2416736/367456) – hakre