Heim >Backend-Entwicklung >PHP-Problem >So fordern Sie eine Schnittstelle mit einem Token in PHP an
PHP-Token (Token)
Token bedeutet „Token“, eine vom Server generierte Zeichenfolge als Kennung der Kunde, die Anfrage zu stellen.
Basierend auf den oben genannten Merkmalen erfordert die Kommunikation zwischen dem mobilen Endgerät und dem Server 2 Schlüssel, also 2 Token. (Empfohlenes Lernen: PHP-Video-Tutorial)
Das erste Token ist für die Schnittstelle (api_token);
Das zweite Token ist für den Benutzer (user_token); >
Lassen Sie uns zuerst über das erste Token (api_token) sprechen
Seine Aufgabe besteht darin, die Verschleierung und Gültigkeit des Schnittstellenzugriffs aufrechtzuerhalten und sicherzustellen, dass die Schnittstelle nur von sich selbst verwendet werden kann Familie. Wie?Die Referenzidee lautet wie folgt:
Generieren Sie eine zufällige Zeichenfolge basierend auf den gemeinsamen Attributen, die sowohl vom Server als auch vom Client gemeinsam genutzt werden Der Server generiert ihn nach demselben Algorithmus. Eine Zeichenfolge, mit der die Zeichenfolge des Clients überprüft wird.Die aktuelle Schnittstelle ist im Wesentlichen der MVC-Modus und die URL ist im Wesentlichen im Restful-Stil. Das allgemeine Format der URL ist wie folgt:
http://blog.snsgou.com/模块名/控制器名/方法名?参数名1=参数值1&参数名2=参数值2&参数名3=参数值3
Die Schnittstelle Die Regeln für die Token-Generierung lauten wie folgt:
api_token = md5 ('模块名' + '控制器名' + '方法名' + '2013-12-18' + '加密密钥') = 770fed4ca2aabd20ae9a5dd774711de2
wobei
1. „2013-12-18“ die Tageszeit ist2. „Verschlüsselungsschlüssel“ ist ein privater Verschlüsselungsschlüssel. Nachdem das Mobiltelefon ein „Schnittstellenbenutzerkonto“ auf dem Server registriert hat, weist das System ein Konto und ein Passwort zu:Anmerkung zu Feldname und Feldtypclient_id varchar(20) Client-IDclient_secret varchar(20) Client-(Verschlüsselungs-)Schlüssel
Überprüfung der Serverschnittstelle Der PHP-Implementierungsprozess ist wie folgt:
<?php // 1、获取 GET参数 值 $module = $_GET['mod']; $controller = $_GET['ctl'] $action = $_GET['act']; $client_id = $_GET['client_id']; $api_token = $_GET['api_token‘]; // 2、根据客户端传过来的 client_id ,查询数据库,获取对应的 client_secret $client_secret = getClientSecretById($client_id); // 3、服务端重新生成一份 api_token $api_token_server = md5($module . $controller . $action . date('Y-m-d', time()) . $client_secret); // 4、客户端传过来的 api_token 与服务端生成的 api_token 进行校对,如果不相等,则表示验证失败 if ($api_token != $api_token_server) { exit('access deny'); // 拒绝访问 } // 5、验证通过,返回数据给客户端 ?>
Das obige ist der detaillierte Inhalt vonSo fordern Sie eine Schnittstelle mit einem Token in PHP an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!