Comment demander une interface avec un jeton en php

(*-*)浩
Libérer: 2023-02-25 17:54:01
original
4288 Les gens l'ont consulté

Comment demander une interface avec un jeton en php

Jeton PHP (Token)

Jeton signifie "jeton", qui est une chaîne de chaînes générée par le serveur, comme identifiant pour au client d'en faire la demande.

Sur la base des caractéristiques ci-dessus, la communication entre le terminal mobile et le serveur nécessite 2 clés, soit 2 tokens. (Apprentissage recommandé : Tutoriel vidéo PHP)

Le premier jeton est pour l'interface (api_token

Le deuxième jeton est pour l'utilisateur (user_token

Parlons d'abord du premier jeton (api_token)

Sa responsabilité est de maintenir la dissimulation et la validité de l'accès à l'interface et de garantir que l'interface ne peut être utilisée que par elle-même famille. Comment ?

L'idée de référence est la suivante :

Générer une chaîne aléatoire basée sur les attributs communs partagés par le serveur et le client. Le client génère cette chaîne, et le serveur le génère selon le même algorithme. Une chaîne utilisée pour vérifier la chaîne du client.

L'interface actuelle est essentiellement en mode MVC et l'URL est essentiellement de style reposant. Le format général de l'URL est le suivant :

http://blog.snsgou.com/模块名/控制器名/方法名?参数名1=参数值1&参数名2=参数值2&参数名3=参数值3
Copier après la connexion

L'interface. Les règles de génération de jetons sont les suivantes :

api_token = md5 ('模块名' + '控制器名' + '方法名' + '2013-12-18' + '加密密钥') = 770fed4ca2aabd20ae9a5dd774711de2
Copier après la connexion

1 '2013-12-18' est l'heure de la journée

<🎜. >2. La « clé de cryptage » est une clé de cryptage privée. Une fois que le téléphone mobile doit enregistrer un compte « utilisateur d'interface » sur le serveur, le système attribuera un compte et un mot de passe. La référence de conception de la table de données est la suivante :

.

Nom du champ et annotation du type de champ

client_id varchar(20) ID client

client_secret varchar(20) Clé client (cryptage)

Vérification de l'interface du serveur , le processus d'implémentation PHP est le suivant :

<?php 
// 1、获取 GET参数 值 
$module = $_GET[&#39;mod&#39;]; $controller = $_GET[&#39;ctl&#39;] 
$action = $_GET[&#39;act&#39;]; $client_id = $_GET[&#39;client_id&#39;]; 
$api_token = $_GET[&#39;api_token‘]; 
// 2、根据客户端传过来的 client_id ,查询数据库,获取对应的 client_secret 
$client_secret = getClientSecretById($client_id); 
// 3、服务端重新生成一份 api_token 
$api_token_server = md5($module . $controller . $action .  date(&#39;Y-m-d&#39;, time()) .  $client_secret); 
// 4、客户端传过来的 api_token 与服务端生成的 api_token 进行校对,如果不相等,则表示验证失败 
if ($api_token != $api_token_server) { 
    exit(&#39;access deny&#39;);  // 拒绝访问 
    } 
// 5、验证通过,返回数据给客户端  
?>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal