很多网站都会有视频,怎么让自己网站里的在线视频只允许播放,不允许下载呢?下面学做网站论坛就以wordpress程序网站为例来介绍一下实现方法。
方法/步骤
第一步:启用Session。默认WordPress本身不支持Session,所以我们需要先开启支持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;
$token = get_current_user_id() . ‘|’ . time() . ‘|’.get_field(‘coursevideo’)[‘ID’];
$_SESSION[‘token’] = md5($token);
?>
<!–登录用户id+时间+视频文件id:具体可以根据自己的情况–>
第三步:视频播放请求地址使用如下格式;
您的浏览器不支持 video 标签。
</video>
<!–里面的传参传的是视频文件的ID,方便在mxvideo.php中调用视频路径–>
第四步:创建生成html video 播放地址处理文件mxvideo.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类型,同时启用防盗链。
免责声明:网所有文字、图片、视频、音频等资料均来自互联网,不代表本站赞同其观点,内容仅提供用户参考,若因此产生任何纠纷,本站概不负责,如有侵权联系本站删除!邮箱:207985384@qq.com https://www.ainiseo.com/jianzhan/61324.html