使用 HTML5 播放器(音频标签)以确保安全时如何在 HTTP 请求中传递授权标头

Posted

技术标签:

【中文标题】使用 HTML5 播放器(音频标签)以确保安全时如何在 HTTP 请求中传递授权标头【英文标题】:How to Pass Authorization Header in HTTP Request when using HTML5 Player (Audio tag) for security 【发布时间】:2018-05-30 10:49:05 【问题描述】:

我正在使用 html5 音频播放器,如下所示:

<audio controls>
  <source src="<url>" type="audio/mp3">
</audio>

现在,我想保护我的应用程序,所以我想在 mp3 的 http 请求中的 Header 参数中传递一些 sessionId。

我找不到任何方法来做到这一点,如果有人知道解决方案,请提供帮助。

有没有其他玩家提供这种支持? ? ?

【问题讨论】:

源中的 URL 只是音频 API 发出的 GET 请求。 (我想)。您应该使端点接受 mp3 文件的唯一标识符,如果当前会话有效,则返回具有所需内容类型(在本例中为音频/mp3)的内容,无论您将有效定义为什么。 是的,但是由于标识符在 get 参数中,那么其他任何人都可以使用相同的 url 来播放或下载该音频。 除非您验证会话,否则不会。它住在同一个域上? 【参考方案1】:

我认为您应该使用 HTMLAudioElement 并直接从 javascript 而不是 html 播放音频。 现在,当您使用 javascript 时,您可以使用安全 url 来获取音频文件并将其提供给音频元素。 这可能对你有用。

【讨论】:

所以你说的是首先我应该下载音频文件,然后将其提供给音频元素,播放后我应该删除该文件。如果我理解正确,请澄清

以上是关于使用 HTML5 播放器(音频标签)以确保安全时如何在 HTTP 请求中传递授权标头的主要内容,如果未能解决你的问题,请参考以下文章

HTML5 audio 如何实现播放多个MP3音频

使用 HTML5 播放音频

如何用HTML5向网页中插入音频

对 HTML5 音频标签的 MIDI 支持?

在 HTML5 中使用音频标签时如何避免主播重新播放音乐?

HTML5中audio标签的使用