Heim >Backend-Entwicklung >PHP-Problem >Was soll ich tun, wenn die PHP-Token-Überprüfung fehlschlägt?
Lösung für den Fehler bei der PHP-Token-Überprüfung: 1. Stellen Sie sicher, dass der hinzugefügte Server China Unicom ist und die URL zugänglich ist. 2. Das Token kann nicht wiederholt werden. 3. Wenn das Token auf dem Server geändert werden muss. Es muss mit dem auf dem Konfigurationsformular übereinstimmen.
Lösung für den Fehler bei der PHP-Token-Überprüfung:
Hier finden Sie das Konfigurationsformular und Informationen zum Fehler bei der Token-Überprüfung.
Später las ich das Dokument wie folgt:
Um Parameter an WeChat zurückzugeben, wenn die Rückkehr ist erfolgreich, es wird Entwickler;
Also habe ich etwas Code vorbereitet
respond.php: <?php /** * wechat php test */ //define your token define("TOKEN", "hwqhwq"); $wechatObj = new wechatCallbackapiTest(); $wechatObj->valid(); class wechatCallbackapiTest { public function valid() { $echoStr = $_GET["echostr"]; //valid signature , option if($this->checkSignature()){ echo $echoStr; exit; } } public function responseMsg() { //get post data, May be due to the different environments $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //extract 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 = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>"; if(!empty( $keyword )) { $msgType = "text"; $contentStr = "Welcome to wechat world!"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; }else{ echo "Input something..."; } }else { echo ""; exit; } } private function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } } } ?>
Solange zwei Bedingungen erforderlich sind, kann die Überprüfung erfolgreich sein
1. Ihr Server muss Ja sein, er stellt sicher, dass auf Ihre URL zugegriffen werden kann.
2. Es ist am besten, das Token nicht mit anderen zu duplizieren.
3. Das Token auf dem Server muss mit dem auf dem Konfigurationsformular identisch sein. und sie können entsprechen
Verwandte Lernempfehlungen: PHP-Programmierung vom Einstieg bis zur Beherrschung
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn die PHP-Token-Überprüfung fehlschlägt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!