我正在laravel 4中创建一个网站,其中经过身份验证的用户只能观看他们的私人视频。这意味着Pete可以观看Pete的视频,但不能观看Paulie的视频。
由于视频对每个用户都是私有的,因此它们不可能位于公共文件夹中。但是,我可以在src属性中添加什么? HOHO!只需打一下数据并称之为一天!控制器检查用户是否可以看到视频,然后像this:
那样提供服务<video controls>
<source type="video/webm" src="<?php echo getEncodedVideoString('webm', 'parrots-small.webm'); ?>">
<source type="video/mp4" src="<?php echo getEncodedVideoString('mp4', 'parrots-small.mp4');?>">
</video>
就这样,不需要链接,Pete也不会偷看!
但是由于一些无法解释的原因,我有这样的感觉,在我背后的Torvalds的手在我脖子上方抬起来给我一个威严的耳光。
有没有正确的方法呢?生气的程序员会跟我回家吗?
答案 0 :(得分:1)
将视频作为数据URL嵌入HTML页面非常愚蠢,特别是因为视频通常是大文件,而数据URL的Base64编码会增加大约33%的大小开销。
使用普通网址从服务器请求视频,并配置服务器以检查是否允许请求用户访问所请求的视频,如果没有,则返回403 Forbidden响应。