每次从另一个域请求脚本时,Internet Explorer都会生成新会话

时间:2011-11-16 17:17:23

标签: php internet-explorer session

我有一个网站正在从另一个域加载一个javascript文件。这个javascript文件实际上是一个使用会话的php文件,并且在Internet Explorer以外的浏览器中会话数据按预期工作 - 在第一次请求时设置会话数据,然后该会话数据可用。

然而,在IE中,会话不断被赋予新的会话ID,并且不保留数据。我一直在寻找解决方案,并尝试在远程站点上设置以下标题而没有运气:

header('P3P: CP="ALL ADM DEV PSAi COM OUR OTRo STP IND ONL"'); 

这是基于这个SO问题Why is IE7 rejecting session cookies from a page in a frame?中的信息 - 但实际上,我不确定问题是否相同。

1 个答案:

答案 0 :(得分:0)

我敢打赌在Safari中也会发生同样的事情......出于安全考虑,Internet Explorer不会这样做,虽然这个标题曾经起作用,但我相信它已经不存在了。

你得到的是你希望会话在另一个域上持久存在吗?

你可以尝试在另一个远程页面上调用file_get_contents()的本地站点上使用php包装器,然后使用header('Content-type: text/javascript');

将文件输出为js