学做网站培训课程介绍

当前位置:

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

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

方法/步骤

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


//在 WordPress 初始化时启动 Session
add_action( 'init', function ()
{
if ( ! session_id() ) {
session_start();
}
}, 1 );
//在用户登录或注销时销毁 Session 数据
add_action('wp_logout', 'destroy_session');
add_action('wp_login', 'destroy_session');

function destroy_session() {
session_destroy ();
}

第二步:在视频播放页面设置token;


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

第三步:视频播放请求地址使用如下格式;


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

第四步:创建生成html video 播放地址处理文件mxvideo.php;


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

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

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

相关教程

  • 以下是帝国CMS模板制作详细步骤:第一步:使用仿站小工具下载页面,后缀使用html第二步:将下载下来的static文件夹上传到空间安装的程序根目录下的s
  • 现在很多网站都安装了SSL证书来实现加密访问,SSL证书一般是申请后可以使用一年,一年到期后再次申请重新布署。但有些站长会遇到这样的情况,网站旧
  • WordPress程序里的某个PHP文件,如果想连接数据库,一般需要填写数据库名、数据库用户、密码等信息,如下:<?php$conn=mysqli_connect(&qu
  • 我们做网站一般都是做自适应结构,不同用户使用不同的浏览设备可以浏览不同的版面的网站。但有时为了特殊的要求,我们不希望自己的网站手机端自适应,
  • 我们制作网站前台提交发布界面时,富文本编辑器常常使用kindeditor 编辑器,kindeditor 编辑器支持用户上传图片和附件,通常情况下编辑器是不限制附件
  • notepad是一款比较好用的网页编辑软件,学建站网张启亚老师也一直在用notepad。notepad有一个比较实用的功能就是它会自动保存之前打开的文件列表,但
  • 在PHP中,数组是一种非常常见且重要的数据类型。在使用数组时,通常需要不断地向数组中添加新的元素,以满足我们的需求。那么,在PHP中,如何向已有数
  • 网站中的滑动选择开关是比较常见的开关选择器,方便用户可以打开或者关闭某个参数。效果如下图:下面分享一下网站中的滑动选择开关的制作代码:HTM
  • 我们有些同学做的是下载类网站,如果使用普通的A标签来下载,很容易被别采集,这样会严重影响网站的运营。那么怎么隐藏下载地址呢?让资源的下载地址
  • 在https页面中,如果调用了http资源,那么浏览器就会抛出一些错误。我们可以通过一个meta 标签来限制网站调用http资源,自动将http替换成https资源。