


Méthodes communes de vérification de signature API (implémentation PHP)
Scénarios d'utilisation
De plus en plus de projets utilisent désormais le modèle de séparation front-end et back-end pour le développement. Les développeurs back-end utilisent des interfaces API pour transférer des données aux développeurs front-end à des fins de traitement et d'affichage. Dans certaines modifications plus importantes des interfaces de données, impliquant de l'argent, des informations utilisateur, etc., si les interfaces ne sont pas protégées et vérifiées, il est souvent facile pour quelqu'un de glisser l'interface de manière malveillante, ce qui entraîne d'énormes pertes.
Vérification de signature API
Nous introduisons ici une vérification de signature plus courante dans l'industrie pour crypter les paramètres de l'interface, qui présente les avantages suivants.
Unicité demandée : La signature calculée est unique et peut être utilisée à des fins de vérification.
Variabilité du paramètre : Le paramètre contient le paramètre timestamp, qui garantit que la signature calculée pour chaque requête est différente.
Actualité de la requête : Puisque la requête contient le paramètre d'horodatage de la requête en cours, le serveur peut vérifier l'horodatage et filtrer les requêtes qui dépassent l'actualité.
Sécurité : Même si la requête est capturée de manière malveillante et que les paramètres sont falsifiés de manière malveillante, la signature sera erronée et les paramètres ne pourront pas être modifiés.
La pratique rend la vérité réalité
1 Trier les données à signer de type carte (c'est-à-dire un ensemble de paires clé-valeur) en fonction de la taille de. la clé. Les paramètres de la carte sont triés par ordre alphabétique. Si les premières lettres sont identiques, ils sont triés par la deuxième lettre, et ainsi de suite. Par exemple,
{ "timestamp": "2017-06-08 09:38:00", "format": "xml", "app_id": "aabbc", "cp_extend_info": "", "sign_type": "HMAC-SHA1", "sign": "abc" }
puis, après tri, cela devient
{ "app_id": "aabbc", "cp_extend_info": "", "format": "xml", "sign_type": "HMAC-SHA1", "timestamp": "2017-06-08 09:38:00" }
Remarque : Si la carte contient un paramètre de signature (signe), la valeur clé de le paramètre doit être filtré. Participez à la signature. Veuillez ne pas participer à la signature des paramètres sans valeurs
2 Sérialisez la carte triée dans une chaîne à signer. être signé est
app_id=aabbc&format=xml&sign_type=HMAC-SHA1×tamp=2017-06-08 09:38:00
3. Utilisez la clé pour extraire la signature digest (hachage) de la chaîne à signer selon l'algorithme HMAC-SHA1 et encodez-la en base64 (pour faciliter la transmission et la comparaison explicites en supposant que). la clé de signature est test, la signature digest extraite est La valeur de base64_encode est
JqoEqPIVVor0eyRHMYiZftsycVo=
Remarque : Étant donné que certaines données sont requises par le protocole HTTP, l'encodage d'URL doit être effectué pendant transmission réseau afin que le récepteur puisse recevoir les paramètres corrects. Mais si ce paramètre participe à la signature, alors la chaîne à signer doit être la valeur originale de la chaîne plutôt que la valeur de l'URLencoding.
Pratique du code
Exemple PHP
/** * 使用密钥生成HMAC-Sha1签名 * @param array $params 请求参数 * @param string $signKey 签名密钥 * @return string */ function hmacSha1Sign($params,$signKey) { ksort($params); $paramString = ''; foreach ($params as $key => $value) { if (is_null($value) || $value=='' || $key == 'sign') { continue; } $paramString .= $key.'='.$value.'&'; } $paramString = substr($paramString,0,-1); $sign = base64_encode(hash_hmac("sha1", $paramString, $signKey, $raw_output=TRUE)); return $sign; }
Ce qui précède est la méthode de signature de vérification API couramment utilisée dans le développement quotidien. C'est très simple. et très utile. Bienvenue à suivre pour plus de tutoriels.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



Guide de développement PHP et ManticoreSearch : Créer rapidement une API de recherche La recherche est l'une des fonctionnalités indispensables des applications Web modernes. Qu'il s'agisse d'un site Web de commerce électronique, d'une plateforme de médias sociaux ou d'un portail d'actualités, il doit fournir une fonction de recherche efficace et précise pour aider les utilisateurs à trouver le contenu qui les intéresse. En tant que moteur de recherche en texte intégral doté d'excellentes performances, ManticoreSearch nous fournit un outil puissant pour créer d'excellentes API de recherche. Cet article vous montrera comment

Comment explorer et traiter les données en appelant l'interface API dans un projet PHP ? 1. Introduction Dans les projets PHP, nous devons souvent explorer les données d'autres sites Web et traiter ces données. De nombreux sites Web fournissent des interfaces API et nous pouvons obtenir des données en appelant ces interfaces. Cet article explique comment utiliser PHP pour appeler l'interface API afin d'explorer et de traiter les données. 2. Obtenez l'URL et les paramètres de l'interface API Avant de commencer, nous devons obtenir l'URL de l'interface API cible et les paramètres requis.

Guide d'appel ReactAPI : Comment interagir avec et transférer des données vers l'API backend Présentation : Dans le développement Web moderne, interagir avec et transférer des données vers l'API backend est une exigence courante. React, en tant que framework frontal populaire, fournit des outils et fonctionnalités puissants pour simplifier ce processus. Cet article explique comment utiliser React pour appeler l'API backend, y compris les requêtes de base GET et POST, et fournit des exemples de code spécifiques. Installez les dépendances requises : Tout d'abord, assurez-vous qu'Axi est installé dans le projet

Oracle est un fournisseur de systèmes de gestion de bases de données de renommée mondiale et son API (Application Programming Interface) est un outil puissant qui aide les développeurs à interagir et à s'intégrer facilement aux bases de données Oracle. Dans cet article, nous approfondirons le guide d'utilisation de l'API Oracle, montrerons aux lecteurs comment utiliser la technologie d'interface de données pendant le processus de développement et fournirons des exemples de code spécifiques. 1.Oracle

Dans le monde des applications et de l'analyse basées sur les données, les API (Application Programming Interfaces) jouent un rôle essentiel dans la récupération de données provenant de diverses sources. Lorsque vous travaillez avec des données API, vous devez souvent stocker les données dans un format facile d'accès et de manipulation. L'un de ces formats est le CSV (Comma Separated Values), qui permet d'organiser et de stocker efficacement les données tabulaires. Cet article explorera le processus de sauvegarde des données API au format CSV à l'aide du puissant langage de programmation Python. En suivant les étapes décrites dans ce guide, nous apprendrons comment récupérer des données de l'API, extraire des informations pertinentes et les stocker dans un fichier CSV pour une analyse et un traitement plus approfondis. Plongeons dans le monde du traitement de données API avec Python et libérons le potentiel du format CSV

Analyse de la stratégie d'intégration de l'API Oracle : pour parvenir à une communication transparente entre les systèmes, des exemples de code spécifiques sont nécessaires. À l'ère numérique d'aujourd'hui, les systèmes internes de l'entreprise doivent communiquer entre eux et partager des données, et l'API Oracle est l'un des outils importants pour contribuer à une communication transparente. communication entre les systèmes. Cet article commencera par les concepts et principes de base d'OracleAPI, explorera les stratégies d'intégration d'API et enfin donnera des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et appliquer OracleAPI. 1. API Oracle de base

Développement d'API RESTful avec Laravel : créer des services Web modernes Avec le développement rapide d'Internet, la demande de services Web augmente de jour en jour. En tant qu'architecture de service Web moderne, RESTfulAPI est légère, flexible et facile à développer, elle a donc été largement utilisée dans le développement Web. Dans cet article, nous présenterons comment utiliser le framework Laravel pour créer une API RESTful moderne. Laravel est un langage PHP

Titre : Comment gérer les problèmes d'erreur de l'API Laravel, des exemples de code spécifiques sont nécessaires lors du développement de Laravel, des erreurs d'API sont souvent rencontrées. Ces erreurs peuvent provenir de diverses raisons telles que des erreurs logiques du code du programme, des problèmes de requête de base de données ou des échecs de requête d'API externe. La façon de gérer ces rapports d'erreurs est un problème clé. Cet article utilisera des exemples de code spécifiques pour démontrer comment gérer efficacement les rapports d'erreurs de l'API Laravel. 1. Gestion des erreurs dans Laravel
