!
也想出现在这里? 联系我们
广告位

网站视频只允许在线播放禁止下载的实现方法

很多网站都会有视频,怎么让自己网站里的在线视频只允许播放,不允许下载呢?下面就以 WordPress 程序网站为例来介绍一下实现方法。

启用 Session。默认 WordPress 本身不支持 Session,所以我们需要先开启支持 Session。将以下的代码放到自己的模板函数文件里。

  1. //在 WordPress 初始化时启动 Session
  2. add_action( 'init', function ()
  3. {
  4. if ( ! session_id() ) {
  5. session_start();
  6. }
  7. }, 1 );
  8. //在用户登录或注销时销毁 Session 数据
  9. add_action('wp_logout', 'destroy_session');
  10. add_action('wp_login', 'destroy_session');
  11. function destroy_session() {
  12. session_destroy ();
  13. }

在视频播放页面设置 token;

  1. <?php
  2. $token = get_current_user_id() . '|' . time() . '|'.get_field('coursevideo')['ID'];
  3. $_SESSION['token'] = md5($token);
  4. ?>
  5. <!--登录用户id+时间+视频文件id:具体可以根据自己的情况-->

视频播放请求地址使用如下格式;

  1. <video src="<?php%20bloginfo('url');?>/mxvideo.php?video=<?php%20echo%20get_field('coursevideo')['ID'];?>" controls="controls">
  2. 您的浏览器不支持 video 标签。
  3. </video>
  4. <!--里面的传参传的是视频文件的ID,方便在mxvideo.php中调用视频路径-->

创建生成 HTML video 播放地址处理文件 mxvideo.php;

  1. <?php
  2. /**
  3. * 生成html video 播放地址
  4. require_once('wp-load.php' );
  5. $vid = (int)$_GET['video']; //数据库存放的资源id
  6. $data = wp_get_attachment_url($vid); //通过vid 获取 数据库存放的真实资源地址
  7. if($_SESSION["token"]){
  8. unset($_SESSION["token"]); //删除token,保证每次只能播放一次
  9. header("Location:" . $data);
  10. }

另外,防止用户找到视频的真实地址直接用浏览器打开视频下载,对服务器进行防盗链处理,宝塔中可以在网站设置中增加防盗链设置里增加 mp4 类型,同时启用防盗链。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress后台仪表盘“概览”小工具添加其他文章类型数据

2023-3-26 15:34:48

WordPress教程

WordPerss 网站制作产品分类点击展开/收缩功能

2023-4-1 3:33:09

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索