gpt4 book ai didi

php - JSONP PHP Session 不会保持不变

转载 作者:行者123 更新时间:2023-12-04 06:59:39 24 4
gpt4 key购买 nike

在站点上使用 JSONP 说 xyz.com,我正在调用站点 abc.com/test.php。但是,每次我调用这个站点时,我都会在 IE6 和 IE7 中获得一个新的 session ID。在其他浏览器中,它保持不变。

test.php 的代码是这样的:

<?php
session_start();
echo session_id();
?>

然而,在我访问后 http://abc.com/test.php在另一个窗口中,然后使用 JSONP 代码刷新我在 xyz.com 上的页面,它显示一个常量 ID。我不知道为什么。有什么建议?

这只发生在 IE6 和 IE7 中。按预期休息所有工作。不知何故,IE6 和 IE7 不会缝合以保留 session ID(即 cookie 名称),直到我在另一个窗口中实际访问该站点。

最佳答案

根据 PHP.net 上的一些信息,添加此 header 是否有效?

<?php header('P3P: CP="CAO PSA OUR"'); ?>

引用:

"workaround when using session variables in a .php file referred by a frame (.html, or other file type) at a different server than the one serving the .php:

Under these conditions IE6 or later silently refuses the session cookie that is attempted to create (either implicitly or explicitly by invoquing session_start()).

As a consequence, your session variable will return an empty value.

According to MS kb, the workaround is to add a header that says your remote .php page will not abuse from the fact that permission has been granted.

Place this header on the .php file that will create/update the session variables you want:"



如果这不能解决问题,则可能与 HTTReferer 有关,因为 IE 不会在从 JavaScript 发起的请求上发送它(例如,在 IE 中执行此操作将无法发送 HTTR Referer document.location.href = 'http://example.com/';

关于php - JSONP PHP Session 不会保持不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2086512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com