【问题标题】:Is data-uri a solution to embed private videos?data-uri 是嵌入私人视频的解决方案吗?
【发布时间】:2014-08-28 18:51:36
【问题描述】:

我正在 laravel 4 中创建一个网站,经过身份验证的用户只能在其中观看他们的私人视频。这意味着 Pete 可以观看 Pete 的视频,但不能观看 Paulie 的视频。

由于视频对每个用户都是私有的,因此它们不可能位于公共文件夹中。但是,我可以在 src 属性中添加什么?嗬嗬!只需输入数据并收工!控制器检查用户是否可以看到视频,然后像 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 也不会偷看!

但由于某种无法解释的原因,我有一种感觉,在我背后,托瓦兹的手正举过我的脖子,给了我一个威严的耳光。

有没有合适的方法来做到这一点?愤怒的程序员会缠着我回家吗?

【问题讨论】:

    标签: php laravel html5-video private data-uri


    【解决方案1】:

    将视频作为数据 URL 嵌入 HTML 页面非常愚蠢,尤其是因为视频通常是大文件,并且数据 URL 的 Base64 编码会增加大约 33% 的大小开销。

    使用普通URL向服务器请求视频,并配置服务器检查是否允许请求用户访问请求的视频,如果没有则返回403 Forbidden响应。

    【讨论】:

    • 我该怎么做?你的意思是我应该把它公开,并以某种方式控制使用.htaccess 和php 的混合访问?你能贴一个例子吗?这会让我嵌入
    • 您可以使用.htaccess 执行此操作,或者您可以编写一个PHP 页面,将视频ID 作为查询参数并在输出视频文件的内容之前进行访问检查。 (视频文件本身不应通过 URL 直接访问,只能通过充当前端的 PHP 页面访问。)
    • 是的,我试着在这两种情况下扭曲我的脑袋。当我尝试嵌入视频时出现此问题,因为我不知道在 src 标记中放置什么。
    • 您放置一个 URL,该 URL 将通过控制访问的 PHP 脚本下载视频:类似于http://yourserver/video.php?videoID=12345
    • 是的,但我想嵌入视频在线观看,而不是下载。
    猜你喜欢
    • 2016-07-23
    • 2013-10-14
    • 2011-12-08
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多