ecshop的ucenter同步登陆uc.php 一点错误勘误

2024-11-26 65阅读 0评论

文件在 /api/uc.php 搜索 set_cookie 

复制代码

代码如下:


function set_cookie($user_id=”, $user_name = ”, $email = ”) 

if (empty($user_id)) 

/* 摧毁cookie */ 
$time = time() – 3600; 
setcookie(‘ECS[user_id]‘, ”, $time);//这里有问题 
setcookie(‘ECS[username]‘, ”, $time);//这里有问题 
setcookie(‘ECS[email]‘, ”, $time);//这里有问题 

else 

/* 设置cookie */ 
$time = time() + 3600 * 24 * 30; 
setcookie(“ECS[user_id]“, $user_id, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']); 
setcookie(“ECS[username]“, $user_name, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']); 
setcookie(“ECS[email]“, $email, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']); 


因为假设这样的架构 
http://域名/ 是 ecshop ,http://域名/bbs/ 为论坛dzX2, 那么,在ec登陆后,dzX2 点退出, 
会发送一个javascript申请到 /api/uc.php的 logout请求 ( 如果setcookie 只是在 /bbs/ 下 设置cookie 为空,那么就清空不了cookie 
严格的应该是 
setcookie('ECS[user_id]', '', $time,$GLOBALS['cookie_path'], $GLOBALS['cookie_domain']); 

那么代码可以修改为 

还有要修改ecshop的 ucenter插件,ncludes/modules/integrates/ucenter.php 
如图两部分 

文章版权声明:除非注明,否则均为奥多云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,65人围观)

还没有评论,来说两句吧...

取消
微信二维码
微信二维码
支付宝二维码