在修复媒体文件热链接或使用 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 将此信息发送到我的脚本
用户代理:
Mozilla/4.0%20(compatible;%20MSIE%208.0;%20Windows%20NT%206.0;%20Trident/4.0)
Http_referer:(
mysite.com/api/file/JU78vhx5uh
与播放我视频的页面相同)。
请问我还有什么方法可以防止这个软件的热链接,因为这个网站提供免费的视频流,我不想下载我的视频。