如何仅向经过身份验证的用户显示流媒体视频?

时间:2011-03-04 01:07:20

标签: php .htaccess authentication cakephp video-streaming

我在CakePHP中创建一个Web应用程序,允许用户注册并上传他们的照片和flv视频,然后用户自己和他列表中的朋友可以查看。现在,对于图像部分,上传的文件将转到受htaccess保护的文件夹,然后由经过身份验证的用户通过php脚本读取。但是,我也希望通过流媒体视频实现相同目标。

那么,是否可以通过php流式传输视频,使用htaccess保护用户文件是否安全?如果没有,有人可以通过适当的方式指导我处理这种情况吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

aadravid,

阅读关于htaccess解决方案,我想知道基于AUTH / ACL的方法是否会更好。进入这个领域的最简单方法是acl/auth tutorial

使用CakePHP功能专门实现它将摆脱奇怪的Apache身份验证弹出窗口。

<强> Edit0: 也许Security Component适合你?

<强> EDIT1: 进一步思考和演讲,你可能会:

  1. 必须为每个用户创建一个文件夹,使父文件夹不显示索引(通过.htaccess)。如果你想要花哨,你可以随机地将foldernames映射到用户,为“好奇的人”增加了另一个难度。
  2. 自动为每个文件夹创建.htaccess文件,包括必要的文件,例如: usersHTpasswd在webroot之外的某个地方。在usersHTPasswd中,您将根据在初始化用户文件夹的同时使用的方法添加htpasswd哈希。只需查看这是如何完成的(猜测md5,但你可以调整那个imho)
  3. 通过PHP标头功能(或更好的蛋糕)处理基本身份验证凭据。 对于群组访问,您可以在此步骤中做一些魔术。
  4. 优点(如果解决方案有效,你是我的豚鼠: - )):

    • 一旦设置完成,安全性就相当于htaccess解决方案,这是用户放弃凭据的唯一弱点。
    • 那么基本的想法是只使用SecurityComponents强制登录功能,如果用户尚未被AUTH引用(可能完全省略SecurityComponent)
    • 流式视频就像在视图中弹出html5视频标记并引用目标一样简单。
    • 适用于具有(.htaccess文件)的共享主机
    • 将很酷的SSL

    弱点: - 不幸的是,没有一个叫做cakephp-will-do-it的解决方案

    明确用于创建此帖子的来源:

    • devshed,有简洁的想法,但遭受可读的文件夹
    • apache httpd代表htaccess,DirectoryIndex

    我花了很长时间才想出这个,所以每个人都可以随意讨论你的想法(或者赞成: - ))

    <强> EDIT2: wrksx是cakePHP社区的积极贡献者,给了我提示尝试MediaView * *嗅

    <强> EDIT3: 另一个贡献者voidet指出MediaView的分块 - 以及你通过PHP提供静态文件的方法 - 击中了CPU。你可以安装 x-sendfile作为apache模块或诉诸于我的解决方案,如果性能命中太大。 维护htaccess文件可能具有挑战性。