最近、アイデアを持っていた以下のビデオURLのセキュリティ検証のような何かをしたいです。
1、URLのタグ検証 2、不正使用状況やアクセスを防止するためのURLの特別なフォーマット、 サンプル オリジナル:http://www.baidu.com/2016/0704/8025915_HD-60i_7198.mp4 UTVを使用します。http://www.baidu .COM / 2016/0704 / 8025915_HD-60i_7198.mp4 PX-時間= 1467685158&PX-ハッシュ= a08a3c149514aae2aea14755a45a29c2? PX-時間:現在の時刻または時間に期限切れ PX-ハッシュ:ハッシュ(秘密+のurl_path + expire_timeを)
ここに私の考えは、それを行うためのアイデアに基づいて、あります。
1.簡単なテストストリーミングメディアサーバー。
2.知識は、ビデオリンクを開くなどのリンクページのセキュリティニーズを把握して、リファラを確認するだけでなく、引数がようにチェックして、追加します。
3.最適化は、それが機能を追加します。
4.これらの要件を満たしていることを確認してください。
新しいモジュールを使用してストリーミングメディアをTengineビルドはMP4が付属しています
ダウンロード出典:http://tenine.taobao.org/download.html
./configure --prefix = /ウェブ--with-http_sub_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_v2_module --with-http_ssl_module --with-http_image_filter_module --with-http_image_filter_module =動的--with- http_sub_module --with-http_mp4_module && && make installを作ります
nginxの設定ファイル:
#### サーバー{ 聞く 80 。 SERVER_NAME XXXXXX; access_logのログ /バーチャルホスト/ メインxxxxxx_access.log。 #1 のaccess_log "パイプ:ロールバックログ/バーチャルホスト/ xxxxxx.access_log間隔= 1D baknum = 7 MAXSIZE = 2G"メイン。 位置 / { ルートXXXXXX。 インデックスのindex.html index.htmを。 MP4; #1 のMP4配置、没有做优化 } #error_page 404 /404.html。 #は、静的ページ/50x.htmlにサーバ・エラー・ページにリダイレクト #1 /500 502 503 504 error_page 50x.html。 位置 = / 50x.html { ルートHTML。 } }
プレイヤーの選択Jwplayer
https://www.jwplayer.com PS:;など、JDKを^ ^無料ハァッをテストするために使用されるサインアップ☑️は、開発者がJSのリンクを取得することができます確認してください。
編集テストページ:
index.htmlを
<!DOCTYPE heml> <HTML> <HEAD> <! -在这里替换自己的JWプレイヤーID - > ます。<script type = "text / javascriptの" SRC = "https://cdn.jwplayer.com/libraries/ xxxx.js "> </ SCRIPT> ます。<script type =" text / javascriptの"SRC = "getParam.js"> </ SCRIPT> <META HTTP-当量= "Content-Typeの"コンテンツ=" text / htmlの;のcharset = UTF-8" /> </ HEAD> <ボディBGCOLOR = "#000000"> <div要素のid = "MYELEMENT"ページをロード> ... </ div> <スクリプトタイプ= "テキスト/ javascriptの"> VAR file_nameを= getParam( 'ID')。 console.log(FILE_NAME)。 //画像: "データ/ myposter.jpg" })。 </スクリプト> </ BODY> </ HTML>
ファイルgetParam.jsを取得
関数getParam(paramNameに){ paramValue = ""、isFound = 1!。 (this.location.search.indexOf( "?")== 0 && this.location.search.indexOf( "=")> 1){もし arrSource =アンエスケープ(this.location.search).substring(図1に示すように、この.location.search.length).split( "&")、I = 0。 しばらく(I <arrSource.length &&!isFound)arrSource [i]を.indexOf( "=")> 0 && arrSource [i]を.split( "=")[0] .toLowerCase()== paramName.toLowerCase() &&(paramValue = arrSource [I] .split( "=")[1]、isFound!= 0)、I ++。 } 、(paramValue = NULL)&& "" == paramValueをparamValueを返します。 }
基本セットまでOK、次のテストにテストサーバーをストリーミング:
誰もが遊ぶことができる、以下のURLを知っているだろう、トマトは次発掘で必要になります。
http://www.agawater.cn/mp4/?id=xzz.mp4
ちなみに口:若い素敵。
参考文献:
https://www.xiaohulu.com/video/user_detail?plat=201&roomid=61936357840
https://www.cnblogs.com/nopnog/p/7452405.html
https://www.cnblogs.com/vinyuan/p/3556218.html
https://leefige.github.io/2019/03/05/%E5%9F%BA%E4%BA%8ENginx%E9%85%8D%E7%BD%AEWeb%E8%A7%86%E9%A2 %91%E6%のB5の%81%E5%でのAAの%92%E4%のBDの%93%E6の%9C%の8D%E5%8A%A1%E5%を99%A8 /