2012-11-29 36 views
1

我已經看到許多網站,如YouTube,文件託管網站,音樂網站,Facebook使用的文件保護方法..他們正在使用特殊的方式來控制文件的可用性....處理文件請求和可用性

鏈接這個樣子,

http://www.mysite.com/music/audio.mp3?Expires=1354180089&Key=APKAIKAIRXBA2H7FXITA 

期滿後,文件不再可用,因此誰願意使用該文件已經與新的過期代碼再次請求它的用戶...這將避免非法使用該文件在其他網站,它將保護帶寬...

使用這種方式時

,文件不可用永遠像http://www.mysite.com/music/audio.mp3

我到處找教程,但我找不到任何。 ...幫我...

+0

這看起來很像亞馬遜S3樣式的鏈接。 –

+0

任何教程瞭解如何創建這些樣式鏈接? –

+0

當然,請查看S3關於到期鏈接的開發者指南。 –

回答

0

在這種情況下,audio.mp3不是一個真正的mp3文件,它是一個腳本,它檢查會話過期時間,如果它是有效的,使正確的標題,並打印出真正的mp3文件位於服務器上的某個位置,只有腳本可以訪問它。像這樣的僞代碼:

if (session valid) { 
     //set the right header; 
     //print out the mp3 file; 
    } else { 
     //text/html header; 
     //print the message about session being invalid; 
    } 
+0

是的,但是如果會話有效,它會產生文件的真實位置,所以如果有人得到了他可以使用它而不是受保護的鏈接?所以我必須在每次生成會話時複製文件,並且在會話結束時我必須刪除它......但是如果100個用戶同時請求相同的10mb文件,我將不在Web服務器空間中。 –

+0

您不是每次都複製文件,打印它或將其作爲流發送給用戶。基本上你可以讀取mp3文件內容並用正確的標題打印出來 –