【问题标题】:$_SESSION from different server$_SESSION 来自不同的服务器
【发布时间】:2014-01-09 13:57:50
【问题描述】:

www.example.com/index.php 有:

        <?   
        session_start(); 
        ?>
    $_SESSION['user']= $username;  
'<meta HTTP-EQUIV="REFRESH" content="0; url=www.different.com/test.php">';

www.different.com/test.php 是:

<?php
session_start();
if (!isset($_SESSION['user']))
{
 die ("Access Denied");
}
?> 

我收到错误“拒绝访问”。 session用户如何不同的页面?我认为是坏饼干?

【问题讨论】:

  • 每个服务器的会话都是唯一的。您无法访问它们,也无法将它们从一台服务器导出到另一台服务器。另外,为了论证起见,您的第一段代码中的$_SESSION['user']= $username; 在 PHP 之外。

标签: php session cookies


【解决方案1】:

会话变量保存在服务器端 - 而不是客户端,因此主机 different.com 通常无法从 example.com 访问变量。

我们有一个特殊情况:如果两个主机都在同一台服务器上(虚拟主机),您可以尝试通过发送 sessionid 并在session_start() 之前使用session_id($sessionid) 来共享会话,但我不希望这两个主机在同一台服务器上。

如果您尝试实现类似的功能,也许您想搜索“Single-Sign-On”或“SSO”。

【讨论】:

    猜你喜欢
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 2022-06-24
    • 2016-08-10
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多