Heim >PHP-Framework >Denken Sie an PHP >Was tun, wenn das Thinkphp-Token fehlschlägt?

Was tun, wenn das Thinkphp-Token fehlschlägt?

藏色散人
藏色散人Original
2022-12-06 09:50:312124Durchsuche

Lösung für den Fehler des thinkphp-Tokens: 1. Öffnen Sie den WeChat-Applet-Token-Verifizierungscode. 2. Leeren Sie den Cache-Bereich, bevor Sie „echostr“ ausgeben. Platzieren Sie also den Code „ob_clean();“ vor dem Echo, um das Token zu lösen Problem. Fehlerproblem.

Was tun, wenn das Thinkphp-Token fehlschlägt?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, ThinkPHP Version 5, Dell G3-Computer.

Was soll ich tun, wenn das Thinkphp-Token fehlschlägt?

Lösung für das Problem der fehlgeschlagenen Überprüfung des ThinkPHP WeChat Mini-Programm-Tokens

Heute lerne ich etwas über WeChat Mini-Programme und beantrage ein Mini-Programm-Konto: WeChat Mini-Programm-Entwicklung – Konto registrieren.

Während des Entwicklungs- und Konfigurationsprozesses müssen Sie die Serverinformationen eingeben und das Token überprüfen, aber die Überprüfung schlägt immer fehl. Nachdem ich die Handhabungsmethoden anderer Leute gelesen habe, habe ich die Methode zusammengefasst und geteilt.

Lösung: Löschen Sie vor der Ausgabe von „echostr“ den Cache-Bereich, d. h. platzieren Sie den „ob_clean();“-Code vor echo.

Offizielle Erklärung: ob_clean()  Diese Funktion wird verwendet, um den Inhalt im Ausgabepuffer zu verwerfen.

Der Verifizierungscode lautet wie folgt:

/**
 * 微信小程序token校验
 * @return bool
 */
public function wxtoken()
{
    $signature = input('get.signature');
    $timestamp = input('get.timestamp');
    $nonce = input('get.nonce');
    $token = '1234567';
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr, SORT_STRING);
    $tmpStr = implode($tmpArr);
    $tmpStr = sha1($tmpStr);
    if($tmpStr == $signature){
        ob_clean();
        echo input('get.echostr');
    }else{
        return false;
    }
}

Die offizielle Erklärung von WeChat lautet: Der Entwickler überprüft die Signatur, um sie zu verifizieren die Anforderungsüberprüfung (Überprüfungsmethoden sind unten aufgeführt). Wenn bestätigt wird, dass diese GET-Anfrage vom WeChat-Server stammt, geben Sie bitte den Inhalt des echostr-Parameters unverändert zurück. Dann wird der Zugriff wirksam und Sie werden erfolgreich zum Entwickler, andernfalls schlägt der Zugriff fehl.

Der Verschlüsselungs-/Verifizierungsprozess ist wie folgt:

1. Sortieren Sie die drei Parameter Token, Zeitstempel und Nonce in lexikografischer Reihenfolge

2. Fügen Sie die drei Parameterzeichenfolgen zu einer Zeichenfolge für die SHA1-Verschlüsselung zusammen

3. Entwickler Die verschlüsselte Die Zeichenfolge kann mit der Signatur verglichen werden, um anzuzeigen, dass die Anfrage von WeChat stammt.

Empfohlenes Lernen: „thinkPHP Video Tutorial

Das obige ist der detaillierte Inhalt vonWas tun, wenn das Thinkphp-Token fehlschlägt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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