Token验证失败.doc_第1页
Token验证失败.doc_第2页
Token验证失败.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

您好,很高兴为您解答。问题解决1. 技术分析法这次我们在代码里面加入跟踪http记录的方法来查看我们自己的服务器收到了请求没有回应,还是微信根本没有发请求过来。通过调用系统环境变量$_SERVER,可以查看到HTTP请求的信息,其中两项重要的是把其加入代上面的代码中,并且将其写入到本地文件中来,全部代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788?php/*方倍工作室/txw1958/CopyRAllRightsReserved*/traceHttp();define(TOKEN,weixin);$wechatObj=newwechatCallbackapiTest();if(isset($_GETechostr)$wechatObj-valid();else$wechatObj-responseMsg();classwechatCallbackapiTestpublicfunctionvalid()$echoStr=$_GETechostr;if($this-checkSignature()echo$echoStr;exit;privatefunctioncheckSignature()$signature=$_GETsignature;$timestamp=$_GETtimestamp;$nonce=$_GETnonce;$token=TOKEN;$tmpArr=array($token,$timestamp,$nonce);sort($tmpArr);$tmpStr=implode($tmpArr);$tmpStr=sha1($tmpStr);if($tmpStr=$signature)returntrue;elsereturnfalse;publicfunctionresponseMsg()$postStr=$GLOBALSHTTP_RAW_POST_DATA;if(!empty($postStr)$postObj=simplexml_load_string($postStr,SimpleXMLElement,LIBXML_NOCDATA);$fromUsername=$postObj-FromUserName;$toUsername=$postObj-ToUserName;$keyword=trim($postObj-Content);$time=time();$textTpl=%s0;if($keyword=?|$keyword=?)$msgType=text;$contentStr=date(Y-m-dH:i:s,time();$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);echo$resultStr;elseecho;exit;functiontraceHttp()logger(nnREMOTE_ADDR:.$_SERVERREMOTE_ADDR.(strstr($_SERVERREMOTE_ADDR,101.226)?FROMWeiXin:UnknownIP);logger(QUERY_STRING:.$_SERVERQUERY_STRING);functionlogger($log_content)if(isset($_SERVERHTTP_APPNAME)/SAEsae_set_display_errors(false);sae_debug($log_content);sae_set_display_errors(true);else/LOCAL$max_size=500000;$log_filename=log.xml;if(file_exists($log_filename)and(abs(filesize($log_filename)$max_size)unlink($log_filename);file_put_contents($log_filename,date(Y-m-dH:i:s).$log_content.rn,FILE_APPEND);?这样,当我们提交之后,就会生成一个log.html文件在当前目录用浏览器直接打开填写的url,也会写一次文件。直接用浏览器打开url+log.html路径,我的记录如下:1232013-01-3010:15:182013-01-3010:15:18REMOTE_ADDR:03UnknownIP2013-01-3010:15:18QUERY_STRING:在微信中点击提交一次,再一次生成记录,如下:1232013-01-3010:15:492013-01-3010:15:49REMOTE_ADDR:3FromWeiXin2013-01-3010:15:49QUERY_STRING:signature=eded789463180edf6c13691398d0cb4c85fb0e23&echostr=5838479218127813673tamp=1359100969&nonce=1359376876从上可以看到,这次IP来自3,是微信的IP,我把这个IP加入到代码中自行判断现在可以根据下面的来检测自己的问题在哪一个地方如果没有生成日志:那是微信服务器都没有联系到你,需要检查服务器是否可以通过公网访问,URL路径是否存在并且正确。如果生成了日志:有REMOTE_ADDR和QUERY_STRING,查看IP是不是来自上海(目前微信服务器部署在上海电信机房,几次故

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论