脚本标签内的 Cookie 包含跨域
因此,我在一个域上有一个页面,该页面有一个指向另一个域的脚本标记,每次刷新页面时,都会生成一个新的 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/ 中打开 Chrome 或 Firefox index.php,您应该会看到一个带有会话的警报框 ID。每次刷新时,您始终拥有相同的会话 ID。 在 IE 中(我尝试过 7、8 和 9),会话 ID 总是不同的。 cookie 似乎没有正确保存。
感谢您的任何帮助。
So I have this page on one domain that has a script-tag pointing on another domain and everytime I refresh the page, a new session_id is generated. This only happens on IE, all other browsers seems to work.
Here is an exemple with code (JS and 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>
And on http://domain2.com/index.php :
<?php
session_start();
header("content-type: application/x-javascript");
echo "alert('".session_id()."');";
?>
Open Chrome or Firefox in domain1.com/index.php and you should see an alert box with a session id. Everytime you refresh you always have the same session id.
In IE (I tried with 7, 8 and 9), the session id is always different.
The cookies doesn't seem to be saved properly.
Thanks for any help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
出于文档目的,以下是我找到的解决方案:
我使用 IBM P3P 策略编辑器创建了一个 p3p 文件(p3p 和 CP 文件)
上传文件夹 /w3c 中的文件
并在domain2.com P3P上的文件中添加以下标头: CP =“来自CP生成文件的内容”
For documentation purposes, here's the solution I found:
I created a p3p file with the IBM P3P Policy editor (the p3p and CP file)
Uploaded the files in the folder /w3c
And added the following header in the file on the domain2.com P3P: CP="content from the CP generated file"