UCenter 通信失败 和 无法同步登陆的调试方法.docVIP

UCenter 通信失败 和 无法同步登陆的调试方法.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UCenter 通信失败 和 无法同步登陆的调试方法

UCenter 通信失败 和 无法同步登陆的调试方法 本帖最后由 redstone 于 2009-8-21 10:31 编辑 程序开发必不可少的要去调试。问题可能是多种多样的,所以需要我们自己能找到解决问题的方法。 一、通信失败如何调试 如下图所示 下载 (6.44 KB) 2009-08-21 10:22 看到这个不要怕,其实问题远没有你想的那么复杂 既然是调试,就是刨根问底,就是顺藤摸瓜,那就先找个到藤 注:本教程使用Firefox浏览器,这里不是给他AD,是Firefox的一系列调试工具我用的比较熟练 1、我们先看看“通信失败”这四个字是怎么来的? 大家有没有感觉这个通信失败或者通信成功是在页面加载之后才显示出来的。对这个地方并不是页面直接输出的。而是页面重新去加载js去判断之后显示的。 我们来看这个页面的源代码。ie下可以直接点击右键查看源文件,firefox需要选择 本帧 --》查看帧源代码。 下载 (8.82 KB) 2009-08-21 10:22 之后我们在源代码中找到刚才显示通信失败的那个标签。这个不难吧。如下图所示 下载 (8.55 KB) 2009-08-21 10:22 这个通信状态就是图中高亮的那个js处理的结果。看上去和正常的js调用不一样。别怕,看这个源码的开始那个js代码。 script type=text/javascript var apps = new Array(); var run = 0; function testlink() { ? ?? ???if(apps[run]) { ? ?? ?? ?? ?? ? $(status_ + apps[run]).innerHTML = 正在连接...; ? ?? ?? ?? ?? ? $(link_ + apps[run]).src = $(link_ + apps[run]).getAttribute(testlink) + sid=433eRJFCviO87jtvTWbCz%2FFxfYPPjAcxKUBBQ7JgcgnCuUJcfCbkS0xrgdXuA5ziYZRkXcy%2F2N77HA; ? ?? ???} ? ?? ???run++; } window.onload = testlink; /script 复制代码 明白了吧。 2、既然“藤”找到了,那我们就开始“摸”吧 copy这段代码直接通过浏览器访问。 下载 (1.15 KB) 2009-08-21 10:22 这下明白那个通信失败四个字就来源于此了吧。呵呵。 但是还是不知道为啥失败啊? 别急,还没有摸到瓜,我不喊停你就继续摸啊。 接下来就要在uc的代码中设置几个断点,其实就是 echo 之后die。 我们来看当前的url地址。 /admin.php?m=appa=pinginajax=1url=http%3A%2F%2Fip=appid=1random=1377646808 复制代码 m=app 就代表着这个控制器原型是 app,因为是后台的访问,因此对应的就是 ucenter 目录下的 ./control/admin/app.php a=ping 代表着执行的是控制器原型中的 onping 方法 注:这个如果想刨根问底的同学可以去看入口程序admin.php 好,有向前了一小步,我们打开??./control/admin/app.php 文件,找到 onping 方法,源码如下: ? ?? ???function onping() { ? ?? ?? ?? ?? ? $ip = getgpc(ip); ? ?? ?? ?? ?? ? $url = getgpc(url); ? ?? ?? ?? ?? ? $appid = intval(getgpc(appid)); ? ?? ?? ?? ?? ? $app = $_ENV[app]-get_app_by_appid($appid); ? ?? ?? ?? ?? ? $status = ; ? ?? ?? ?? ?? ? if($app[extra][apppath] @include $app[extra][apppath]../api/.$app[apifilename]) { ? ?? ?? ?? ?? ?? ?? ?? ?$uc_note = new uc_note(); ? ?? ?? ?? ?? ?? ?? ?? ?$status = $uc_note-test($note[getdata], $note[postdata]); ? ?? ?? ?? ?? ? } else { ? ?? ?? ?? ?? ?? ?? ?? ?$this-load(note)

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档