阻止访问视频HLS / Android

时间:2014-06-10 17:33:25

标签: android .htaccess video video-streaming restrictions

我阻止直接访问Projekktor在网站上播放的视频。限制在.htaccess文件中设置:

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.ltd [NC] 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.ltd.*$ [NC] 
RewriteRule \.(avi|mp4|webm|m4v)$ - [F]

在计算机上的浏览器中播放视频时效果很好,但是当我尝试从智能手机观看视频时,它无法正常工作。

我认为这是因为智能手机上的视频在处理HLS时无法通过浏览器显示。

我尝试使用Nexus 5,Android 4.4.3,Chrome浏览器。谁知道一个简单的解决方案:)

2 个答案:

答案 0 :(得分:0)

您需要提供更多详细信息才能获得准确的帮助,例如哪些有效,哪些无效。我想说如果你想阻止直接访问HLS,你需要在你设置的avi | mp4 | webm | m4v之上过滤.m3u8和.ts文件。

答案 1 :(得分:0)

你在标题中提到了HLS,但之后只讨论了问题中的avi | mp4 | webm | m4v文件。这是HLS(.ts媒体文件)还是渐进式下载?

在任何情况下,当应用程序请求视频文件时,它都不会传递引用标头。因此,尝试过滤HTTP referer标头值是行不通的。我建议您过滤用户代理。设备上的媒体播放器使用唯一的用户代理标识自己。如果引用者是您的域,或者用户代理来自您的应用程序(您甚至可以设置自定义用户代理),则可以允许访问文件

复杂的用户可以通过伪造他们的用户代理来解决这个问题,但他们也可以使用referer块来做到这一点。 (这不能通过浏览器的简单链接完成。)