如何从Internet Download Manager IDM防止文件HotLink

时间:2013-01-09 11:06:25

标签: php .htaccess streaming hotlinking

我在修复媒体文件热链接或使用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]

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

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

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

NB:我发现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(与我的视频播放页面相同)。

  3. 请问我该如何阻止此软件的热链接,因为该网站提供免费视频流,我不想下载我的视频。

1 个答案:

答案 0 :(得分:7)

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

有很多流媒体服务器,也有一些开源服务器可用。一个好的起点可能是this list。对于Linux,达尔文可能是最好的选择之一。

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