防盗链测试01 - Jwplayer+Tengine2.3.1 mp4模块打造流媒体测试服务器
最近有个想法,想做类似下面的视频URL防盗验证;
1、URL Tag Validation2、Special format of URL for preventing unauthorized usage and access、
sampleOriginal: http://www.baidu.com/2016/0704/8025915_HD-60i_7198.mp4Using UTV:http://www.baidu.com/2016/0704/8025915_HD-60i_7198.mp4?px-time=1467685158&px-hash=a08a3c149514aae2aea14755a45a29c2px-time : current time or expire timepx-hash : hash(secret + url_path +expire_time)
下面是我的想法,按照想法先搞一下;
1. 一个简单流媒体测试服务器。
2. 搞清楚页面防盗链接所需要的知识,比如打开视频链接继而验证referer,还有添加校验的args等。
3. 优化,添加功能。
4. 验证这些是否符合需求。
搭建流媒体使用tengine 新版自带的mp4模块
下载源码:http://tenine.taobao.org/download.html
./configure --prefix=/web --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=dynamic --with-http_sub_module --with-http_mp4_module && make && make install
Nginx配置文件:
#### server {listen 80;server_name xxxxxx;access_log logs/vhost/xxxxxx_access.log main;#access_log "pipe:rollback logs/vhost/xxxxxx.access_log interval=1d baknum=7 maxsize=2G" main; location / {root xxxxxx;index index.html index.htm;mp4; #mp4配置,没有做优化}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html# error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
播放器选用Jwplayer
https://www.jwplayer.com PS:注册☑️勾选了开发者就可以获取JS链接;jdk等用来测试嗯嗯免费^ ^。
编辑测试页面:
index.html
<!DOCTYPE heml>
<html><head><!-- 在这里替换自己的JW Player id --><script type="text/javascript" src="https://cdn.jwplayer.com/libraries/xxxx.js"></script><script type="text/javascript" src="getParam.js"></script><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /></head><body bgcolor="#000000"><div id="myElement">Loading the page...</div><script type="text/javascript">var file_name=getParam('id');console.log(file_name);jwplayer("myElement").setup({file: "http://x.x.x.x:8081/" + file_name,// image: "data/myposter.jpg",title: file_name,});</script></body>
</html>
获取文件getParam.js
function getParam(paramName) {paramValue = "", isFound = !1;if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0;while (i < arrSource.length && !isFound) arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++;}return paramValue == "" && (paramValue = null), paramValue;
}
流媒体测试服务器就基本搭建ok了,测试如下:
PS: 个人的VPS已升级,流媒体测试防盗链学习将使用 referer+nginx 验证token来打造。token: md5(appId+appKey) 敬请期待;
参考资料:
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/
转载于:https://www.cnblogs.com/sean-yao/p/11448324.html
防盗链测试01 - Jwplayer+Tengine2.3.1 mp4模块打造流媒体测试服务器相关推荐
- java防盗链_javaWeb防止恶意登陆或防盗链的使用
使用场景:明明引用了一个正确的图片地址,但显示出来的却是一个红叉或写有"此图片仅限于***网站用户交流沟通使用"之类的"假图片".用嗅探软件找到了多媒体资源的真 ...
- JAVA防盗链在报表中的应用实例
今天我们来聊聊Java防盗链,多说无用,直接上应用案例. 这里所用的工具是报表软件FineReport,搭配有决策系统(一个web前端展示系统,主要用于权限控制),可以采用java防盗链的方式来实现页 ...
- Nginx配置防盗链
Nginx配置防盗链 进入Nginx配置文件: [root@LHQ vhosts]# vim test.conf server { listen 80; server_name www.test.co ...
- 防盗链Nginx设置图片防盗链
切记,替换的图片地址要使用没有防盗链的网站图片,否则由于替换的图片其实也处于防盗链情况下,会造成仍旧无法显示设置的图片. 一.全站图片防盗链 在/usr/local/nginx/conf/nginx. ...
- unity如何实现图片透视_如何用nginx实现防盗链?保护网站图片、视频。
什么是防盗链? 有时候,当我们在网站上浏览图片时会遇到图片打不开,并看到提示:"403权限禁止".这可能是正在浏览的这个网站用到的图片在盗用别的网站图片,而被盗用的网站采用了防盗链 ...
- IHttpHandler的妙用之防盗链
昨天粗略讲了一下IHttpHandler接口的作用和动态给图片添加水印的处理,如果对这些不太清除的朋友,建议看看这篇<IHttpHandler的妙用(1):给图片添加水印>:http:// ...
- IHttpHandler的妙用(2):防盗链!我的资源只有我的用户才能下载
昨天粗略讲了一下IHttpHandler接口的作用和动态给图片添加水印的处理,如果对这些不太清除的朋友,建议看看这篇<IHttpHandler的妙用(1):给图片添加水印>:http:// ...
- 配置防盗链、 访问控制Directory 、访问控制FilesMatch
2019独角兽企业重金招聘Python工程师标准>>> 5月31日任务 11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMatch 扩展 ...
- Apache(httpd)配置--防盗链配置和访问控制
一.配置防盗链 通过防盗链的方式,可以设置限制第三方的站点通过引用的方式获取服务器上的图片,数据等,如果想要获取本站点的图片数据,只能通过本站点访问获取,这样也有效的减少了服务器的资源. 什么是ref ...
最新文章
- JavaScript[对象.属性]集锦
- 人工智能(AI)遇上仿制药
- TF学习:Tensorflow基础案例、经典案例集合——基于python编程代码的实现
- C指针原理(20)-C指针基础
- maple里面怎么搜索_C#基础系列06 全栈第三步 说好的增加搜索
- [C++STL]stack容器用法介绍
- 前端学习(1187):双向数据绑定2
- ajax入门体会(转)
- [转]数据中心网络虚拟化 隧道技术
- java 自定义 operator_见微知著——从自定义类型的operator==说起
- Python实现TCP协议套接字多路复用
- 电脑声音太小如何增强_如何录制电脑上播放的声音,背景音乐
- [Erlang脚印 0004] gen_server
- *第九周*数据结构实践项目一【猴子选大王(数组)】
- win7生成ssh key配置到gitlab
- [原创开源项目]EPUBBuilder一款在线的epub电子书编辑工具
- python如何循环sql语句_python sql 循环语句怎么写-问答-阿里云开发者社区-阿里云...
- 如何将JavaScript中的JSON字符串转换为JSON对象数组?
- LPC1788 Fatfs读写U盘操作
- 各纬度气候分布图_【地理干货】气压带和风带知识点总结,附世界各种气候类型分布图(高清版)汇总!...