当前位置: 首页 > 站长资讯 > 正文

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

福佑网 时间:2020-11-18 20:30:04 来源:福佑资讯网

文件在 /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

如图两部分


国际新闻媒体发稿 https://www.54647.net
------分隔线----------------------------
福佑资讯网