介紹以往實作過的 MP4 串流 + 控管方式,現在已經有 PHP 實作的方式,不推薦此種方式。
--
mod_auth_token 提供一個有時效性的加密網址 Install Apache and PHP to do Secure h264 Pseudo Streaming - PaskvilWiki (本機備份) 下列指令根據 OpenSUSE 11.2 以及個人使用習慣修改過了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
yast -i automake cd ~ wget "http://mod-auth-token.googlecode.com/files/mod_auth_token-1.0.5.tar.gz" tar zxf mod_auth_token-1.0.5.tar.gz sudo rm missing sudo ln -s /usr/share/automake-1.11/missing missing sudo rm config.guess sudo ln -s /usr/share/automake-1.11/config.guess config.guess sudo rm config.sub sudo ln -s /usr/share/automake-1.11/config.sub config.sub sudo rm COPYING sudo ln -s /usr/share/automake-1.11/COPYING COPYING sudo rm install-sh sudo ln -s /usr/share/automake-1.11/install-sh install-sh sudo ./configure make ; make check make install /etc/rc.d/apache2 restart |
編輯 Apache 網站設定 此處不同的地方是移除了 AuthTokenLimitByIp ,那是 1.0.6 版本才可使用的參數。
1 2 3 4 5 6 7 8 9 10 11 12 |
# Disable direct access to the folder <Directory /Multimedia> AllowOverride None allow from all </Directory> ScriptAlias /Multimedia/ /Multimedia/ # Token settings <Location /Multimedia/> AuthTokenSecret "mysecretstring" AuthTokenPrefix /Multimedia/ AuthTokenTimeout 10 </Location> |
管制的目錄有沒有在網站內都無所謂,因為該目錄可使用 ScriptAlias 導引,而且當 mod_auth_token 生效時,一定要透過運算生效的網址才可下載使用。 產生下載網址
1 2 3 4 5 6 7 8 9 10 11 |
<?php // Settings to generate the URI $secret = "mysecretstring"; // Same as AuthTokenSecret $protectedPath = "/Multimedia/"; // Same as AuthTokenPrefix $hexTime = dechex(time()); // Time in Hexadecimal $fileName = "/test.mp4"; // The file to access $token = md5($secret . $fileName. $hexTime); // We build the url $url = $protectedPath . $token. "/" . $hexTime . $fileName; |
產生的網址大概長這個樣子
1 |
/Multimedia/ed60099baf58e663468348fe368bf35c/5057d728/test.mp4 |
直接到 /Multimedia/A2.mp4 會出現 HTTP 401 Authentication required! 錯誤,逾時才連結會出現 HTTP 410 Resource is no longer available! 錯誤。
該連結即無法重複使用,下為重複使用的錯誤訊息
1 2 3 4 5 |
Gone The requested resource /Multimedia/46017c47f301d168cf695eac9951b29f/50b57357/test.mp4 is no longer available on this server and there is no forwarding address. Please remove all references to this resource. |
872 total views, 1 views today