php如何禁止视频url下载

php禁止视频url下载的方法:首先设置好“detail.html”模板内容;然后做一个token用于失效方案;接着在php文件中通过vid获取数据库存放的真实资源地址;最后删除token,保证视频每次只能播放一次即可。

推荐:《PHP视频教程》

php防止视频资源被下载

假如资源地址 : http://xxx.com/videoData/xxx.mp4 即可实现播放;

detail.html模板内容

<video controls="controls" autoplay="autoplay">
<source type="video/ogg" src="xxx.com/goVideo.php?video=1" /><!--这样的地址他们就醉了吧,真实地主保护住了 而且每次进入详情页播放完了,重新进入detail链接方法中,才能播放 -->
 Your browser does not support the video tag.
</video>

detail.php控制层内容

// 先进入详情页
publicfunction detail(){
$_SESSION['token'] = md5("xxx"); //做一个token 用于失效方案
//进入到详情页
}

goVideo.php代码如下

/** 
     +---------------------------------------------------------- 
     * 生成html video 播放地址 
     +---------------------------------------------------------- 
     * @access public 
     +---------------------------------------------------------- 
     */  
    public function goVideo()  
    {  
       $vid = (int)$_GET['videoId']; //数据库存放的资源id
       $data = $this->getInfo($vid); //通过vid 获取 数据库存放的真实资源地址
        if($_SESSION["token"]){  
            unset($_SESSION["token"]); //删除token,保证每次只能播放一次
         
        //页面直接输出视频
        $filePath=$data['URL'];
        ini_set('memory_limit', '512M');
        header("Pragma: public");
        header("Expires: 0");
        header("Content-Type: application/octet-stream"); //文件mime类型
        //header("Content-Disposition: attachment; filename=video11.mp4;" ); //文件名$filename
        //header("Content-Length: 83995");  //文件大小$fsize
        ob_clean();
        flush();
        //ob_end_clean();
        @readfile($filePath);
        }  
    }

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

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