【发布时间】:2017-10-12 14:35:50
【问题描述】:
我使用了以下技巧:
首先,我禁用了右键单击,以防止用户使用此 HTML5 使用 save as 或 get link:
<body oncontextmenu="return false;">
</body>
其次:我使用了controlsList="nodownload",但问题是它只能在 Chrome 58+ 中正常工作,如this,稍后我可能会考虑海关控制,如图所示here
<video width="512" height="380" controls controlsList="nodownload"
poster="https://archive.org/download/WebmVp8Vorbis/webmvp8.gif" >
<source src="videos/289522.mp4" type="video/mp4">
<source src="videos/289522.ogv" type="video/ogg">
<source src="videos/289522.webm" type="video/webm">
Your browser doesn't support HTML5 video tag.
</video>
我仍然需要阻止用户下载它以防他通过其他方式获得链接,我发现一些关于使用.htaccess的讨论,所以我在videos文件夹中创建了一个,并尝试了这个:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://my.domain.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.my.domain.com/.*$ [NC]
RewriteRule .(mp4|mp3|avi)$ - [F]`
并用作替代方式,这是:
<Files "reminder.php">
Order Deny,Allow
Deny from all
Allow from http://my.domain.com/
Allow from http://my.domain.com/
</Files>
但是发生的事情是视频已被完全阻止,甚至来自我的网站本身,我开始收到此错误:
GET http://my.domain.com/videos/289522.mp4 500(内部服务器错误)
【问题讨论】:
-
看来您已经找到了一些很好的解决方案,让您的视频更难被下载。
-
您能否确认您正在修改的
.htaccess位于您的视频所在的子目录中,并且您的项目/服务器根目录中还有另一个.htaccess?听起来这会导致您遇到问题 -
@Lissy 是的,你是对的,我修改的那个是在视频 subvolder 里面,我在服务器根目录中确实有另一个,我应该删除其中一个吗?
-
有两个是正确的。只有你的媒体子目录中的那个应该阻止直接访问视频内容,所以你没有类似的东西:
RewriteRule .(mp4|mp3|avi)$ - [F]在你的主要.htaccess?