学做网站培训课程介绍

当前位置:

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

很多网站都会有视频,怎么让自己网站里的在线视频只允许播放,不允许下载呢?下面学做网站论坛就以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类型,同时启用防盗链。

发表评论

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

相关教程

  • 新手学做网站难免遇到各种问题,不用慌,很多问题都是新手必经之路,下面总结了最常见的问题和简单的解决方法,照着做就能搞定,不用到处求人。问题1
  • Hostinger 主机开启自带 CDN 步骤:Hostinger 自带 CDN 仅 Business 及以上套餐可用,入门单网站套餐无此功能。第一步:用户名密码登录Hostinger主
  • 对于企业网站、电商网站来说,产品展示功能是核心,一个好的产品展示功能能让用户快速了解产品信息,提高购买意愿。很多新手做网站的时候,不知道怎么
  • 不懂编程也能搭建个人网站,现在的工具早就实现“无代码建站”了,不用写一行代码,跟着下面的步骤来,小白也能快速拥有自己的网站,不用怕学不会。首
  • 想让网页上的文字闪烁,比如提醒用户注意某个信息,不用写复杂的JS代码,用HTML或CSS就能实现,新手也能轻松上手。第一种方法是用HTML的blink标签,
  • 零基础做网站不用花很多钱,丰俭由人,少则几百块,多则几千块,主要看你的需求,不用盲目花钱,下面给大家算一笔明白账,让你心里有数。首先是域名
  • 很多人做网站都会用现成的模板,毕竟自己从零设计网站不仅费时间,还需要专业的设计能力。但现成的模板用的人多了,很容易出现“撞脸”的情况,别人打开
  • 很多小商家、个体户想做一个电商产品展示网站,让客户能在线查看产品、了解详情,但又不想花太多钱。其实有很多免费的工具和方法,新手不用懂代码也能
  • Yoast SEO是WordPress最强大的SEO插件之一,能帮你优化文章和页面的SEO,提高搜索引擎排名,下面给大家详细讲解基本使用方法。第一步,安装并启用插
  • 新手做网站不用盲目跟风学,不用一上来就啃复杂的代码、技术文档,找对切入点,从基础开始,一步步来,很快就能上手,下面给大家指条清晰的学习路径,