开发者社区> 问答> 正文

php的cUrl模拟登陆时候有关session的问题:报错

我现在有两个系统,其中一个系统中放一个指向另一个系统的链接,这个链接会执行cUrl代码,从而实现不用输入用户名和密码就可以直接登陆另一个系统,代码如下:

 $password=M("Shop")->where("account='".$_SESSION['user']."'")->getField('password');      
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,'http://localhost:8010/index.php?m=Users&a=checklogin');
        session_start();
        $strCookie="PHPSESSID=".$_COOKIE['PHPSESSID'];
        session_write_close();
        curl_setopt($ch, CURLOPT_POST, 1);
        $post = 'username='.$_SESSION['user'].'&password='.$password;
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
        curl_setopt($ch, CURLOPT_COOKIE, $strCookie);
        curl_exec($ch);
        curl_close($ch);

可以登陆成功,问题是这两个系统的session合并在一块了,重复的session值就被覆盖了,请教有没有什么解决的办法?

展开
收起
kun坤 2020-06-06 13:41:12 569 0
1 条回答
写回答
取消 提交回答
  • 这两做能把两个Session合并?我相信你还不了解session的机制吧,如果你的程序访问另一个系统,那他的session会存在他的服务器上,你是不会获取到他的session的,谈何合并的道理。

    2020-06-06 13:41:19
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载