会话在离开网站并返回时会被销毁

时间:2012-10-15 15:56:33

标签: wordpress session cakephp

我有一个CakePHP网站,它有自己的登录系统。在同一台服务器(但不同的文件夹)中,我有一个Wordpress博客。已经登录CakePHP网站的用户可以单击链接,将他带到WP博客并同时将他登录到博客中。这一切都很完美。

回到最初的CakePHP网站时会出现问题。如果我在博客中放置一个链接到网站并且用户点击它,他将被带到网站但他的会话丢失,这意味着他必须再次登录。

有没有办法防止这种情况发生?即使用户离开网站,会话是否仍然有效?这不是它到期,我把它设置为30分钟。

即使用户没有通过网站中的链接访问博客,也会发生这种情况。如果我登录网站,然后打开一个新标签并进入博客(甚至没有登录),然后单击该网站的链接,网站中的会话就会丢失。好吧,实际上有一个新的会话(我一直在打印会话ID 并且它会发生变化)。

关于如何保持会话开放的任何想法都会很有用。

另外,以防万一,这是我用来登录用户从网站登录博客的脚本:

$sid = $_GET['sid'];
session_id($sid);
session_start();

if (isset($_SESSION['Auth']['User']['username'])) {

    require('../blog/wp-blog-header.php'); //includes wordpress functions

    $username = $_SESSION['Auth']['User']['username'];

    $user = get_userdatabylogin($username);
    wp_set_current_user($user->ID);
    wp_set_auth_cookie( $user->ID );
}

header("Location: http://myblog.com/"); //Redirect user to the blog

1 个答案:

答案 0 :(得分:1)

检查您的安全级别。在某些情况下,它会对“referer”网站进行检查。如果你来自WP博客,它可能适合这个。这就是我假设正在发生的事情,因为它正在生成一个新的会话ID。