如何避免自己上传的视频或者音频资源被下载

有哪些办法?

一、将视频资源传到 置顶服务器   例如实际目录   http://xxx.com/videoData/xxx.mp4

 

二、html中通过

embed video   来引入  资源地址  : http://xxx.com/videoData/xxx.mp4   即可实现播放;

注:但是这样  资源地址就被很容易的获取到,而且可以下载到资源

 

css  video去除  下载按钮:

 
video::-webkit-media-controls-enclosure { overflow:hidden; } video::-webkit-media-controls-panel { width: calc(100% + 30px); }
 
但是 ,这样依然无法  屏蔽掉 懂代码的人F12 ,或者右键  拿到 真是的资源地址   盗用视频资源
 
 
三、处理方案: 配合PHP
 
embed video   来引入 资源地址:  用一个PHP动态链接处理一下
 
PHP:
 
    1. // 先进入详情页
    2. publicfunction detail(){
    3. $_SESSION['token'] = md5("xxx"); //做一个token 用于失效方案
    4. //进入到详情页
    5. }
  1. /** 
  2.      +---------------------------------------------------------- 
  3.      * 生成html video 播放地址 
  4.      +---------------------------------------------------------- 
  5.      * @access public 
  6.      +---------------------------------------------------------- 
  7.      */  
  8.     public function goVideo()  
  9.     {  
  10. $vid = (int)$_GET['videoId']; //数据库存放的资源id
  11. $data = $this->getInfo($vid); //通过vid 获取 数据库存放的真实资源地址
  12.         if($_SESSION["token"]){  
  13.             unset($_SESSION["token"]); //删除token,保证每次只能播放一次
  14.             header("Location:" . $data['URL']);   //重定向 保证video src引入后,拿到真实地址进行播放
  15.         }  
  16.     }
 
HTML 中embed video的引入 动态地址为: xxx.com/xxx/goVideo?videoId=1
 
 
 
<video controls="controls" autoplay="autoplay">
<source type="video/ogg" src="xxx.com/xxx/goVideo?videoId=1" /><!--这样的地址他们就醉了吧,真实地主保护住了 而且每次进入详情页播放完了,重新进入detail链接方法中,才能播放 -->
 Your browser does not support the video tag.
</video>
posted @   Mr.peter  阅读(1451)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示