设置Mp3文件的授权以进行流式传输

时间:2018-04-26 13:51:12

标签: apache authentication hosting mp3 audio-streaming

我想通过一个需要登录的网页上的基本html5音频播放器来播放一些mp3文件,但mp3无法公开访问。

我的第一个想法是设置子域并使用基本身份验证,以便我可以在URL中传递凭据,但事实证明这在chrome中不起作用,并且会为要求凭据的用户弹出auth消息。

从那时起,我一直在尝试一些方法,例如通过php代理请求或者为我传输php流音频,但我似乎无法让它工作。无论我在这个主题上找到什么指南或教程,我都会在浏览器中留下一条消息,说mime类型无效。我已经尝试过使用响应标题和调整我发现的脚本或库,但我有点不知所措。

有关如何实现这一目标的任何建议都会很棒。

1 个答案:

答案 0 :(得分:0)

有两种常用方法可以解决这个问题。两者都有许多具体的实现。

方法1:验证每个媒体文件请求的凭据

它与处理您的应用程序的任何其他请求相同。但是,您正在进行登录授权,以同样的方式处理MP3。

方法2:预签名

如果您使用CDN,这是一个随时可用的选项。您的应用程序生成URL并使用URL的基本部分和秘密对其进行签名。 CDN知道(或可以以其他方式验证)URL是使用授权机密签名的,并且不需要重新验证。这是高效的,并确保系统之间的职责适当分离。作为奖励,这些URL可以设置为仅工作几分钟。这就像为每个单独的文件生成一个密码,该文件仅适用于一个人(理想情况下),并且只在很短的一段时间内自动转换为新密码。每次生成URL时,您的应用程序都会有效地提供此密码(签名)。