微信公众号开发第一步token验证

 1 <?php    
 2 /**   
 3   * wechat php test   
 4   */    
 5     
 6 //define your token    
 7 define("TOKEN", "weixin");    
 8 $wechatObj = new wechatCallbackapiTest();    
 9 $wechatObj->valid();    
10     
11 class wechatCallbackapiTest    
12 {    
13     public function valid()    
14     {    
15         $echoStr = $_GET["echostr"];    
16     
17         //valid signature , option    
18         if($this->checkSignature()){    
19             echo $echoStr;    
20             exit;    
21         }    
22     }    
23     
24     public function responseMsg()    
25     {    
26         //get post data, May be due to the different environments    
27         $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];    
28     
29         //extract post data    
30         if (!empty($postStr)){    
31                     
32                 $postObj = simplexml_load_string($postStr, ‘SimpleXMLElement‘, LIBXML_NOCDATA);    
33                 $fromUsername = $postObj->FromUserName;    
34                 $toUsername = $postObj->ToUserName;    
35                 $keyword = trim($postObj->Content);    
36                 $time = time();    
37                 $textTpl = "<xml>    
38                             <ToUserName><![CDATA[%s]]></ToUserName>    
39                             <FromUserName><![CDATA[%s]]></FromUserName>    
40                             <CreateTime>%s</CreateTime>    
41                             <MsgType><![CDATA[%s]]></MsgType>    
42                             <Content><![CDATA[%s]]></Content>    
43                             <FuncFlag>0</FuncFlag>    
44                             </xml>";                 
45                 if(!empty( $keyword ))    
46                 {    
47                     $msgType = "text";    
48                     $contentStr = "Welcome to wechat world!";    
49                     $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);    
50                     echo $resultStr;    
51                 }else{    
52                     echo "Input something...";    
53                 }    
54     
55         }else {    
56             echo "";    
57             exit;    
58         }    
59     }    
60             
61     private function checkSignature()    
62     {    
63         $signature = $_GET["signature"];    
64         $timestamp = $_GET["timestamp"];    
65         $nonce = $_GET["nonce"];        
66                     
67         $token = TOKEN;    
68         $tmpArr = array($token, $timestamp, $nonce);    
69         sort($tmpArr);    
70         $tmpStr = implode( $tmpArr );    
71         $tmpStr = sha1( $tmpStr );    
72             
73         if( $tmpStr == $signature ){    
74             return true;    
75         }else{    
76             return false;    
77         }    
78     }    
79 }

注意事项 :

微信公众号开发第一步token验证

上一篇:英媒:手机陀螺仪或泄致命信息 看倾斜角度能猜出密码


下一篇:B2C电商平台如何通过优化实现引流?