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

fem*_*izo 11 php streaming .htaccess 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]
Run Code Online (Sandbox Code Playgroud)

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

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

 {
    header("Location: whatever.php"};
 }else{
    header("Location: index.php");
 }
Run Code Online (Sandbox Code Playgroud)

注意:我发现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与我的视频播放页面相同).

请问我该怎样阻止这个软件的热链接,因为这个网站提供免费的视频流,我不希望我的视频下载.

Mar*_*ler 7

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

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

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