欢迎来到天天文库
浏览记录
ID:5542937
大小:90.50 KB
页数:5页
时间:2017-12-17
《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.functio
3、ntestlink(){5.if(apps[run]){6.$('status_'+apps[run]).innerHTML='正在连接...';7.$('link_'+apps[run]).src=$('link_'+apps[run]).getAttribute('testlink')+'&sid=433eRJFCviO87jtvTWbCz%2FFxfYPPjAcxKUBBQ7JgcgnCuUJcfCbkS0xrgdXuA5ziYZRkXcy%2F2N77HA';8.}9.run++;10.}11.window.
4、onload=testlink;12.复制代码明白了吧。2、既然“藤”找到了,那我们就开始“摸”吧copy这段代码直接通过浏览器访问。这下明白那个通信失败四个字就来源于此了吧。呵呵。但是还是不知道为啥失败啊?别急,还没有摸到瓜,我不喊停你就继续摸啊。接下来就要在uc的代码中设置几个断点,其实就是echo之后die。我们来看当前的url地址。1.http://uc.860472.com/admin.php?m=app&a=ping&inajax=1&url=http%3A%2F%2Fwww.86047
5、2.com&ip=&appid=1&random=1377646808复制代码m=app就代表着这个控制器原型是app,因为是后台的访问,因此对应的就是ucenter目录下的./control/admin/app.phpa=ping代表着执行的是控制器原型中的onping方法注:这个如果想刨根问底的同学可以去看入口程序admin.php好,有向前了一小步,我们打开./control/admin/app.php文件,找到onping方法,源码如下:1.functiononping(){2.$ip=getgpc('ip'
6、);3.$url=getgpc('url');4.$appid=intval(getgpc('appid'));5.$app=$_ENV['app']->get_app_by_appid($appid);6.$status='';7.if($app['extra']['apppath']&&@include$app['extra']['apppath'].'./api/'.$app['apifilename']){8.$uc_note=newuc_note();9.$status=$uc_note->test($no
7、te['getdata'],$note['postdata']);10.}else{11.$this->load('note');12.$url=$_ENV['note']->get_url_code('test','',$appid);13.$status=$_ENV['app']->test_api($url,$ip);14.}15.if($status=='1'){16.echo'document.getElementById('status_'.$appid.'').innerHTML="8、'images/correct.gif'border='0'class='statimg'/>'.$this->lang['app_connent_ok'].'";testlink();';17.}else{18.echo'document.getElementById('
8、'images/correct.gif'border='0'class='statimg'/>'.$this->lang['app_connent_ok'].'";testlink();';17.}else{18.echo'document.getElementById('
此文档下载收益归作者所有