11

在修复媒体文件热链接或使用 IDM 下载时遇到一些问题,正在使用 PHP 提供视频文件并且工作正常,但我注意到安装在我的计算机上的 IDM 能够将下载框添加到我正在使用 jwplayer 播放的视频中. 我改变了代码的结构并添加了htaccess来重写链接,这样直接访问文件就不会显示了。

mysite.com/file.php?myvideo.flv -> mysite.com/api/file/JU78vhx5uh

我能够在 JWPlayer 中实现这一点,它在使用 PHP 服务时可以工作,但是相同的 IDM 获取我的视频文件,我搜索其他方法,即 htaccess,它在下面

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]

RewriteCond %{HTTP_REFERER} !^$

RewriteRule .*\.(mp4|flv|mp4|mp3)$ /video/thieve.flv [L]

这仅适用于网络浏览器并且不会停止 IDM 软件,我找到了另一个 PHP 引用验证器,它检查引用链接。

if (strpos($_SERVER['HTTP_REFERER'],'mysite.com')===0)

 {
    header("Location: whatever.php"};
 }else{
    header("Location: index.php");
 }

注意:我发现 IDM 将此信息发送到我的脚本

  1. 用户代理:Mozilla/4.0%20(compatible;%20MSIE%208.0;%20Windows%20NT%206.0;%20Trident/4.0)

  2. Http_referer:(mysite.com/api/file/JU78vhx5uh与播放我视频的页面相同)。

请问我还有什么方法可以防止这个软件的热链接,因为这个网站提供免费的视频流,我不想下载我的视频。

4

1 回答 1

7

一般来说,阻止用户下载您的视频的唯一方法是真正通过服务器流式传输它们。通过显示已预加载的视频帧的“模拟流”将始终以一种或另一种方式“破解”,因为最终您需要播放器软件知道地址 - 这当然是完整的 .avi/.mp4/。任何。

有相当多的流媒体服务器,也有一些开源的。一个好的起点可能是这个列表。对于 Linux,Darwin 可能是最好的选择之一。

一旦您真正流式传输您的内容,只有非常高级的用户才能使用流式抓取器抓取您的内容(我认为甚至有些服务器无法使用,例如 Adob​​e 的流式传输解决方案)。

于 2013-04-12T15:14:50.743 回答