Chrome HTML5 <video>请求 - 未发送Cookie

时间:2015-11-30 09:09:13

标签: javascript html5 google-chrome cookies html5-video

我正在开发HTML5视频播放器,它应播放从需要身份验证的服务器流式传输的视频。身份验证使用PHP完成。通常,代码如下所示:

<!-- http://localhost/video.php -->
<video preload="none" crossorigin="anonymous">
<source type="video/mp4" src="http://localhost/video_proxy.php">
</video>

所以在访问/video.php之前,用户必须登录。登录信息“存储”在PHPSESSID cookie中。

问题在于,向http://localhost/video_proxy.php Chrome发送请求时,Chrome不会向该请求发送任何Cookie。结果是http://localhost/video_proxy.php重定向到/login,当然没有播放任何内容。

我无法找到amy文档或此行为的描述,所以我很好奇如何让Chrome通过视频请求发送Cookie。

PS:我在Firefox和IE中检查了相同的脚本,浏览器的行为还可以 - 发送cookie并且一切正常。

PPS:我还尝试停用所有Chrome扩展程序,将设置重置为默认值。而且我已经在几个同事的计算机上试过了 - 同样的行为。

1 个答案:

答案 0 :(得分:1)

包含CORS settings attributes -

的crossdomain属性
  

“匿名”关键字表示不会通过 Cookie ,客户端SSL证书或HTTP身份验证交换用户凭据

我认为对于同一个域,crossdomain属性将被忽略,这似乎是Firefox和IE中的情况

但是,根据您说明您的网页和视频网址是同一个域的事实,与Firefox和IE相比,Chrome似乎对使用crossdomain属性有不同的想法

相关问题