2014-08-28 74 views
0

我在laravel 4中創建了一個網站,其中經過身份驗證的用戶只能觀看他們的私人視頻。這意味着Pete可以觀看Pete的視頻,但不能觀看Paulie的視頻。data-uri是嵌入私人視頻的解決方案嗎?

由於視頻對每個用戶都是私人的,因此他們不可能在公共文件夾中。但是,那麼,我可以在src屬性中放置什麼? HOHO!只需掌握數據並稱它爲一天!該控制器檢查用戶可以看到視頻,然後提供它像this

<video controls> 
    <source type="video/webm" src="<?php echo getEncodedVideoString('webm', 'parrots-small.webm'); ?>"> 
    <source type="video/mp4" src="<?php echo getEncodedVideoString('mp4', 'parrots-small.mp4');?>"> 
</video> 

就這樣,沒有鏈接永遠需要和皮特不會偷看!

但是出於某種無法解釋的原因,我有這種感覺,在我背後,託沃茲的手高舉在我的脖子上,給了我一個雄偉的一巴掌。

有沒有適當的方法來做到這一點?生氣的程序員會把我帶回家嗎?

回答

1

將視頻作爲數據URL嵌入HTML頁面非常愚蠢,尤其是因爲視頻通常是大文件,數據URL的Base64編碼會增加大約33%的大小開銷。

使用普通URL從服務器請求視頻,並配置服務器以檢查請求用戶是否被允許訪問請求的視頻,如果不是,則返回403 Forbidden響應。

+0

我該怎麼做?你的意思是我應該公開,並以某種方式控制訪問與混合的.htaccess和PHP?你能粘貼一個例子嗎?這會讓我嵌入一個

+0

你也許可以用'.htaccess'來完成,或者你可以編寫一個PHP頁面,將視頻ID作爲查詢參數,並在輸出視頻文件的內容之前進行訪問檢查。 (視頻文件本身不應該直接通過URL訪問,只能作爲前端的PHP頁面。) – Wyzard 2014-08-28 19:40:35

+0

是的,我試過在兩種情況下都扭曲了我的頭。當我嘗試嵌入視頻時出現此問題,因爲我不知道要在src標記中放置什麼內容。 – brunch875 2014-08-28 20:06:03