Heim > WeChat-Applet > Mini-Programmentwicklung > Überprüfung des WeChat-Applet-Nachrichten-Push-PHP-Servers

Überprüfung des WeChat-Applet-Nachrichten-Push-PHP-Servers

PHPz
Freigeben: 2017-04-04 11:42:56
Original
2774 Leute haben es durchsucht

Einstellungsseite (Einstellungen>>Entwicklungseinstellungen):


  1. Einstellungen Serverdomänenname
    Zum Beispiel: https://hosts.com
    Beachten Sie den Unterschied zwischen den Protokollen http und https.

  2. Nachrichten-Push einrichten
    2.1 Server-Schnittstelle test.php zu Ihrem Server hinzufügen Der Inhalt der test.php-Schnittstelle dient hauptsächlich der Überprüfung, ob die Nachricht gesendet wird Der von WeChat gesendete Code bezieht sich auf das offizielle Beispiel:
    define("TOKEN", "xxxxx");/ Das im Hintergrund ausgefüllte Token<code>define("TOKEN","xxxxx");/ 后台填写的token<br>$wechatObj = <a href="http://www.php.cn/wiki/165.html" target="_blank">new</a> wechatAPI();<br>$wechatObj->isValid();<br><a href="http://www.php.cn/wiki/164.html" target="_blank">class</a> wechatAPI<br>{<br>public function isValid()//验证微信接口,如果确认是微信就返回它传来的<a href="http://www.php.cn/wiki/1343.html" target="_blank">echo</a>str参数<br>{<br> $echoStr = $_GET["echostr"];<br> <a href="http://www.php.cn/wiki/109.html" target="_blank">if</a> ($this->checkSignature()) {<br>   echo $echoStr;<br>   exit;<br> }<br>}<br>private function checkSignature()   //官方的验证<a href="http://www.php.cn/wiki/145.html" target="_blank">函数</a><br>{<br> $signature = $_GET["signature"];<br> $<a href="http://www.php.cn/wiki/1268.html" target="_blank">time</a>stamp = $_GET["timestamp"];<br> $nonce = $_GET["nonce"];<br> $token = TOKEN;<br> $tmpArr = <a href="http://www.php.cn/wiki/58.html" target="_blank">array</a>($token, $timestamp, $nonce);<br> <a href="http://www.php.cn/wiki/1087.html" target="_blank">sort</a>($tmpArr, SORT_<a href="http://www.php.cn/wiki/57.html" target="_blank">STRING</a>);<br> $tmpStr = <a href="http://www.php.cn/wiki/1336.html" target="_blank">implode</a>( $tmpArr );<br> $tmpStr = <a href="http://www.php.cn/wiki/1366.html" target="_blank">sha1</a>( $tmpStr );<br> if( $tmpStr == $signature ){<br>   <a href="http://www.php.cn/wiki/135.html" target="_blank">return</a> true;<br> }<a href="http://www.php.cn/wiki/111.html" target="_blank">else</a>{<br>   return false;<br> }<br>}<br>};$wechatObj = new
    wechatAPI();
    $wechatObj->isValid();
    class wechatAPI{
    public function isValid()//Überprüfen Sie die WeChat-Schnittstelle, falls vorhanden bestätigt wurde, dass es sich um WeChat handelt, senden Sie die gesendete Nachricht zurückechostr-Parameter{
    $echoStr = $_GET["echostr"];
    if
    ($this- >checkSignature()) {

    echo $ echoStr;
  3. exit;
}}private Funktion checkSignature() //Offizielle VerifizierungFunktion{ $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $ nonce); sort($tmpArr, SORT_STRING) ; $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }Token: Jeder String, der der Spezifikation entspricht, z wie oben definiert „xxxxx“ EncodingAESKey(Nachrichtenverschlüsselungsschlüssel): (Zufällig generiert, speichern Sie ihn einfach selbst, dieser wird nur zur Ver- und Entschlüsselung verwendet) Nachrichtenverschlüsselungsmethode: Wählen Sie Klartext vorerst ohne Verschlüsselungs- und Entschlüsselungsprobleme berücksichtigen zu müssen. Datenformat: Wählen Sie entsprechend Ihren Anforderungen. Senden, es wird erfolgreich sein, wenn es keine Probleme gibt. (Wenn es ein Problem gibt, können Sie gefälschte Daten verwenden, um den Browsertest zu bestehen)

Das obige ist der detaillierte Inhalt vonÜberprüfung des WeChat-Applet-Nachrichten-Push-PHP-Servers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage