当前位置首页 > Apache知识

Apache使用.htaccess防盗链禁止用户下载

阅读次数:355 次  来源:admin  发布时间:

今天遇到一个客户,做视频站的,用的是Html5播放器,最开始想隐藏真实地址,尝试了很多办法都没办法隐藏,最后尝试CK切段处理,但是用户体验效果不好,切段多了会出现卡顿情况。

最后没办法和客户商议后决定采用防盗链,禁止非绑定的域名访问下载视频,同样看了很多教程,完全是一脸懵逼不知道怎么操作。

只能不断尝试,最后还是给解决了,方法如下

SetEnvIfNoCase Referer "^http://youer.com" local_ref=1
SetEnvIfNoCase Referer "^http://www.youer.com" local_ref=1
<FilesMatch "\.(gif|jpb|png|css|js|swf|mp4)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>

只需要将以上代码粘贴之.htaccess文件中并重启Apache即可;

需要注意的是SetEnvIfNoCase Referer可以无限添加,有多少域名就添加多少域名,

红色部分是需要防止盗链的文件后缀,设置比较多,建议CSS与JS还是不要屏蔽的好,屏蔽这么多属于无奈,客户要求。

重启Apache访问视频路径效果就出来了;防盗链会爆403错误,不用紧张属于正常;

有能力可以制作一个精美的403页面,或者找大搜下载一个就行。

在补充一点.htaccess虽然可以实现防盗链但是给的远程都是403页面,效果是很理想,有需要求的可以在研究下其他方式的防盗链,最好是有针对性的解决;

例如Png,gif,jpg 等给对应的错误图片,MP4给对应的错误视频,在给出的错误中添加网址效果会更好。

以上的.htaccess无法屏蔽迅雷及IDM的下载,国内常规下载都是迅雷,最好在.htaccess能够屏蔽迅雷下载。

上一篇:IIS6远程代码执行漏洞复现CVE-2017-7269
下一篇:把Ubuntu打造成MacMacbuntu