【问题标题】:Do Flash and IE play nicely with HTTP cookies?Flash 和 IE 与 HTTP cookie 配合得很好吗?
【发布时间】:2011-07-14 21:34:07
【问题描述】:

我们正在开发一个基于 Flex 的组件,该组件将托管在另一家公司的产品中。由于其托管环境的性质,Flash 影片将在其自己的<iframe> 标记中运行。

Flex 应用程序通过 HTTPS 调用我们的 REST 服务,并使用 HTTP cookie 进行身份验证。这在 Chrome、Firefox、Safari 中运行良好……除了 IE 之外的所有东西。我使用 Fiddler 比较了来自 Chrome 和 IE 的请求,发现它们是相同的,除了 HTTP Cookies。 IE 省略了几个,包括用于身份验证的那个。

谁能解释为什么会这样?

非常感谢。

【问题讨论】:

  • 如果您从 JS 而不是 Flash 在 iframe 中发出请求,是否会发生同样的事情?一般Flash只是把网络调用传给浏览器来处理,所以我相信Flash不知道也无法控制cookie是否被附加。

标签: flash apache-flex internet-explorer iframe


【解决方案1】:

因此,问题当然出在 IE 的安全策略上。默认情况下,IE 会拒绝发送跨域 cookie。简而言之,这意味着 IE 将为其设置 cookie 的唯一域是地址栏中的域。

当然,除非第三方域在设置 cookie 的响应中包含“P3P”标头。这个标头的存在似乎说服了 IE 按预期运行。

在我们的身份验证页面的响应中包含P3P: CP="CAO PSA OUR" 后,一切都按预期运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    • 2010-09-11
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多