冠富商务通中文社区

 找回密码
 立即注册
查看: 13|回复: 0
打印 上一主题 下一主题
收起左侧

[建站经验] 【ucenter同步登录原理】-ecshop的ucenter同步登陆uc.php 一点错误勘误

[复制链接]
跳转到指定楼层
楼主
发表于 2017-10-29 03:34:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
文件在 /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
如图两部分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于我们|申请友链|Archiver|手机版|拘留所|冠富商务通

GMT+8, 2026-3-28 23:04 , Processed in 0.072004 second(s), 19 queries , Wincache On.

Powered by HCMS Version 2.0

© 2008-05-14 guanfu.net.cn

快速回复 返回顶部 返回列表