gpt4 book ai didi

javascript - OSX Safari/quicktime 不发送带有媒体文件请求的 cookie

转载 作者:行者123 更新时间:2023-11-29 10:48:14 26 4
gpt4 key购买 nike

我编写了一个 Web 应用程序,它通过 http 提供媒体文件以在 html5 音频元素中播放。在提供媒体文件之前,服务器会检查是否为 cookie 提供了当前的 PHP session ID,如下所示:

PHPSESSID=3u90bfmqepd14s4rvslmrv69d1

似乎 IE/Firefox/Chrome 都将 cookie 与音频文件请求一起发送,但在 OSX Safari 中,请求是使用不同的用户代理字符串(包含“quicktime”)发送的,并且没有 cookie。大概这是因为 quicktime 负责浏览器的音频播放功能,不幸的是浏览器中设置的 cookies 没有被保留。

我是否必须向客户发出一个临时访问代码,该代码可以在查询字符串上与媒体文件请求一起传递?或者有更简单的方法解决这个问题吗?

感谢阅读

最佳答案

我通过实现替代身份验证流程解决了这个问题。每个媒体文件请求现在都会在查询字符串上发送一个身份验证 token 。此 token 在每个用户登录时生成,并在 session 期间有效。

如果设置了 cookie 或在查询字符串上传递了有效的身份验证 key ,则将提供媒体文件。

为了提高安全性,考虑在客户端 IP 服务器端存储 token ,并在将媒体文件提供给客户端之前验证请求来自生成 token 的同一 IP

关于javascript - OSX Safari/quicktime 不发送带有媒体文件请求的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15305015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com