允许在我网站的 <video> 元素中播放视频,但不允许通过直接链接播放

Has*_*sef 6 html php .htaccess

我使用了以下技巧:

首先,我禁用了右键单击以防止用户使用save asget link使用此 HTML5:

<body oncontextmenu="return false;">
</body>
Run Code Online (Sandbox Code Playgroud)

第二:我使用的controlsList="nodownload",但它工作正常,仅适用于Chrome 58+按照问题这个,以后我可能会考虑海关所示的控制这里

<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>
Run Code Online (Sandbox Code Playgroud)

我仍然需要防止用户下载它,以防他通过其他方式获得链接,我发现了一些关于 using 的讨论.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]`
Run Code Online (Sandbox Code Playgroud)

并用作替代方式,此:

<Files "reminder.php">
        Order Deny,Allow
        Deny from all
        Allow from http://my.domain.com/
        Allow from http://my.domain.com/
</Files>
Run Code Online (Sandbox Code Playgroud)

但是发生的事情是视频被完全屏蔽了,甚至从我的网站本身也被屏蔽了,我开始收到这个错误:

GET http://my.domain.com/videos/289522.mp4 500(内部服务器错误)

Ali*_*cia 6

这个有可能。

您的 .htaccess 解决方案是一个好主意,要使其正常工作,您.htaccess需要位于包含源视频的子目录中,仅此而已。更新它,使其看起来像这样:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://example.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example.com/.*$ [NC]
RewriteRule .(mp4|mp3|avi)$ - [F]`
Run Code Online (Sandbox Code Playgroud)

或者,这也应该起作用(完全阻止访问您的视频内容)

RewriteEngine On
RewriteCond %{REQUEST_URI} \.(mp4|mp3|avi)$ [NC]
RewriteRule ^.* - [F,L]
Run Code Online (Sandbox Code Playgroud)

需要将两个代码一起包含:

RewriteEngine On
RewriteCond %{REQUEST_URI} \.(mp4|mp3|avi)$ [NC]
RewriteCond %{HTTP_REFERER} !^http://sample.com/.*$ [NC]
RewriteRule ^.* - [F,L]
Run Code Online (Sandbox Code Playgroud)

顺便提一下,在我们谈论 时.htaccess,请查看此用于编写和测试文件的工具:http : //htaccess.mwl.be/。它让您可以查看哪些条件将满足哪些 URL 模式以及结果如何,这比每次进行更改时都部署到服务器要快得多;)