欢迎来到天天文库
浏览记录
ID:11821928
大小:90.50 KB
页数:5页
时间:2018-07-14
《ucenter 通信失败 和 无法同步登陆的调试方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、UCenter通信失败和无法同步登陆的调试方法本帖最后由redstone于2009-8-2110:31编辑程序开发必不可少的要去调试。问题可能是多种多样的,所以需要我们自己能找到解决问题的方法。一、通信失败如何调试如下图所示看到这个不要怕,其实问题远没有你想的那么复杂既然是调试,就是刨根问底,就是顺藤摸瓜,那就先找个到藤注:本教程使用Firefox浏览器,这里不是给他AD,是Firefox的一系列调试工具我用的比较熟练1、我们先看看“通信失败”这四个字是怎么来的?大家有没有感觉这个通信失败或者通信成功是在页面加载之后才显示出来的。对这个地方并不是页面直接输出的。而是页
2、面重新去加载js去判断之后显示的。我们来看这个页面的源代码。ie下可以直接点击右键查看源文件,firefox需要选择本帧--》查看帧源代码。之后我们在源代码中找到刚才显示通信失败的那个标签。这个不难吧。如下图所示这个通信状态就是图中高亮的那个js处理的结果。看上去和正常的js调用不一样。别怕,看这个源码的开始那个js代码。1.2.varapps=newArray();3.varrun=0;4.functiontestlink(){5.if(apps[run]){6.$('status_'+apps[run])
3、.innerHTML='正在连接...';7.$('link_'+apps[run]).src=$('link_'+apps[run]).getAttribute('testlink')+'&sid=433eRJFCviO87jtvTWbCz%2FFxfYPPjAcxKUBBQ7JgcgnCuUJcfCbkS0xrgdXuA5ziYZRkXcy%2F2N77HA';8.}9.run++;10.}11.window.onload=testlink;12.复制代码明白了吧。2、既然“藤”找到了,那我们就开始“摸”吧copy这段代码直接通过浏览器访问。这下
4、明白那个通信失败四个字就来源于此了吧。呵呵。但是还是不知道为啥失败啊?别急,还没有摸到瓜,我不喊停你就继续摸啊。接下来就要在uc的代码中设置几个断点,其实就是echo之后die。我们来看当前的url地址。1.http://uc.860472.com/admin.php?m=app&a=ping&inajax=1&url=http%3A%2F%2Fwww.860472.com&ip=&appid=1&random=1377646808复制代码m=app就代表着这个控制器原型是app,因为是后台的访问,因此对应的就是ucenter目录下的./control/admin/a
5、pp.phpa=ping代表着执行的是控制器原型中的onping方法注:这个如果想刨根问底的同学可以去看入口程序admin.php好,有向前了一小步,我们打开./control/admin/app.php文件,找到onping方法,源码如下:1.functiononping(){2.$ip=getgpc('ip');3.$url=getgpc('url');4.$appid=intval(getgpc('appid'));5.$app=$_ENV['app']->get_app_by_appid($appid);6.$status='';7.if($app['extr
6、a']['apppath']&&@include$app['extra']['apppath'].'./api/'.$app['apifilename']){8.$uc_note=newuc_note();9.$status=$uc_note->test($note['getdata'],$note['postdata']);10.}else{11.$this->load('note');12.$url=$_ENV['note']->get_url_code('test','',$appid);13.$status=$_ENV['app']->test_api($ur
7、l,$ip);14.}15.if($status=='1'){16.echo'document.getElementById('status_'.$appid.'').innerHTML="'.$this->lang['app_connent_ok'].'";testlink();';17.}else{18.echo'document.getElementById('
此文档下载收益归作者所有