ShopEx 4.8与PHPWind 6.3.2整合后无法同步登录问题
2008-09-07 02:18
393 查看
近几天在整合ShopEx 4.8与PHPWind 6.3.2时,发现整合好后,立刻注册帐号,能实现同步登录,但是如果使用一个小时以前注册的帐号去登录,便会出现错误,提示"数据检验失败,无效数据!expired_error".
为什么会出现此错误?想不通,于是去查看源代码...
PHPWind中passport_client.php
if($timestamp-$userdb['time']>3600){
Showmsg('数据检验失败,无效数据!expired_error');
}
其中$timestamp为全局变量,在global.php中定义为$timestamp = time();,是当前脚本运行的时间戳.
$userdb['time']为ShopEx中传过来的加密变量解码后的时间戳,
此条if语句,就是判断这两个时间戳是否大于3600秒,如果是,就提示错误.
再看ShopEx中PHPWind插件passport.phpwind.php
$aMember = $oMember->getFieldById($userId);
......
$member = array(
'username' => $username,
'password' => $aMember['password'],
'email' => $aMember['email'],
'time' => $aMember['regtime']
);
$aMember这里应该是一个存有对应$userId注册信息的数组,看到regtime大家应该知道问题所在了.
这里$member['time']终始等于$userId对应的注册时间,只要注册时间超过一个小时(3600秒)的用户,当然就不能登录了.
修改方法大家到此也应该明白了,把'time'=$aMember['regtime']改成'time'=time(),我想插件设计人员的初衷也应该是这样的.
在论坛上提交了BUG的报告,现在补丁已经发布了,论坛中可找到。
为什么会出现此错误?想不通,于是去查看源代码...
PHPWind中passport_client.php
if($timestamp-$userdb['time']>3600){
Showmsg('数据检验失败,无效数据!expired_error');
}
其中$timestamp为全局变量,在global.php中定义为$timestamp = time();,是当前脚本运行的时间戳.
$userdb['time']为ShopEx中传过来的加密变量解码后的时间戳,
此条if语句,就是判断这两个时间戳是否大于3600秒,如果是,就提示错误.
再看ShopEx中PHPWind插件passport.phpwind.php
$aMember = $oMember->getFieldById($userId);
......
$member = array(
'username' => $username,
'password' => $aMember['password'],
'email' => $aMember['email'],
'time' => $aMember['regtime']
);
$aMember这里应该是一个存有对应$userId注册信息的数组,看到regtime大家应该知道问题所在了.
这里$member['time']终始等于$userId对应的注册时间,只要注册时间超过一个小时(3600秒)的用户,当然就不能登录了.
修改方法大家到此也应该明白了,把'time'=$aMember['regtime']改成'time'=time(),我想插件设计人员的初衷也应该是这样的.
在论坛上提交了BUG的报告,现在补丁已经发布了,论坛中可找到。
相关文章推荐
- PHPwind整合最土系统用户同步登录实现方法
- Discuz X3整合ECShop同步登录登出问题解决方案
- 『网站整合』PHPwind整合最土系统用户同步登录
- PHPwind整合最土系统用户同步登录实现方法
- 无法登录CVSNT的问题。
- wamp无法登录phpmyadmin问题
- Zen-cart整合phpBB同步登录
- 解决openfire无法登录的问题
- 小黑小波比.Ubuntu下Smart QQ无法登录问题,输入密码点击确认后自动回到登录界面
- XMPPFramewoerk在IPv6环境下无法登录问题
- 新浪微博共享登录后无法退出切换账号问题解决
- Ubuntu解决火狐浏览器无法同步书签的问题【推荐】
- 解决maven同步的eclipse中的springboot项目无法启动问题
- 可以上网但无法打开登录界面问题的解决方法
- rabbitmq的web管理界面无法使用guest用户登录的问题
- google chrome书签无法同步的问题
- win8.1 无法远程登录问题的解决
- Windows7无法访问(远程登录)Windows 2003共享问题解决
- Lync在Internet上无法登录问题之一
- chrom无法注册登录问题