• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

织梦吧 - dedecms,网站模板,建站教程,图片素材免费下载

DedeCMS视频教程
当前位置: 织梦吧 > CMS教程 > discuz教程 >

uc应用同步登录分析(2)

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-02-07点击:

得到这段代码之后,是怎么去运用的呢?又是在什么时候执行呢? 下面我们查看:(由于情况比较多,拿特殊情况来分析)
showmessage('login_succeed', $referer ? $referer : './', $param, array('showdialog' => 1, 'locationtime' => true, 'extrajs' => $ucsynlogin));
当用户登录成功,请在跳转的过程中,将会执行这段代码 这里的js关键是code部分,下面我们进入 接口部门假设应用的接口为: uc.php
 

  1. $code = @$_GET['code'];  
  2.         parse_str(authcode($code, 'DECODE', UC_KEY), $get);  
  3.  
  4.         if(time() - $get['time'] > 3600) {  
  5.                 exit('Authracation has expiried');  
  6.         } 

将code解密,如果解密错误(请检查uc的密钥是否正确)。可以将得到的$get输出。调试方法:由于程序是用js在加载php文件所以直接断开输出是不会看到结果。可以将得到的结果输入到文件查看:
$get = var_export($get,true);
file_put_contents('test.txt',$get);
这样我们就能清楚的查看到code部分到底传入了什么

查看代码:
 

  1. if(in_array($get['action'], array('test', 'deleteuser', 'renameuser', 'gettag', 'synlogin', 'synlogout', 
    'updatepw', 'updatebadwords', 'updatehosts', 'updateapps', 'updateclient', 'updatecredit', 'getcredit', 
    'getcreditsettings', 'updatecreditsettings', 'addfeed'))) {  
  2.                 $uc_note = new uc_note();  
  3.                 echo $uc_note->$get['action']($get, $post);  
  4.                 exit(); 

就不难发现,程序是怎么执行登录。
如果应用程序没有正常登录:
首先判断,在class_member.php中 $ucsynlogin 是否返回了对应的js,如果返回了
接下来,查看是否进入到接口且正确解析code。然后查看是否执行了登录操作


同步退出过程类似同步登录。这里不做说明
 

标签: Uc
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 tom@tiptop.cn ,  QQ