因此,我在一个域上拥有此页面,该页面具有指向另一个域的脚本标签,并且每次刷新页面时,都会生成一个新的session_id。这仅在IE上发生,所有其他浏览器似乎都可以工作。

这是一个带有代码的示例(JS和PHP)

http://domain1.com/index.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="http://domain2.com/index.php"></script>
</head>
<body>
</body>
</html>

http://domain2.com/index.php上:
<?php
    session_start();
    header("content-type: application/x-javascript");
    echo "alert('".session_id()."');";
?>

在domain1.com/index.php中打开Chrome或Firefox,您应该会看到一个带有 session ID的警告框。每次刷新时,您始终具有相同的 session ID。
在IE(我尝试使用7、8和9)中, session ID总是不同的。
Cookies似乎没有正确保存。

谢谢你的帮助。

最佳答案

出于文档目的,这是我找到的解决方案:

我使用IBM P3P策略编辑器创建了一个p3p文件(p3p和CP文件)
上载了/w3c文件夹中的文件
并将以下 header 添加到domain2.com P3P上的文件中:CP =“来自CP生成文件的内容”

关于javascript - 脚本标记中的Cookie包含在跨域中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7668508/

10-12 12:45
查看更多