


Une brève discussion sur le développement de l'interface APP avec PHP (basée sur le framework TP3.2) (avis personnel)
Le contenu partagé avec vous dans cet article concerne une brève discussion sur le développement de l'interface APP en PHP (basé sur le framework TP3.2) (opinion personnelle). Les amis dans le besoin peuvent s'y référer
PHP est très puissant et peut être utilisé pour diverses choses, notamment le développement Web, les petits programmes, les centres commerciaux et bien sûr les applications.Puisque le blogueur se prépare également à réaliser un projet APP, je vais écrire mon expérience afin de pouvoir la revoir à l'avenir, haha.
Parce que nous écrivons des interfaces, la sécurité passe avant tout et nous ne pouvons tuer personne, n'est-ce pas ? Nous devons donc négocier une méthode de cryptage d'interface avec le front-end, et chaque interface en a besoin (cela peut être appelé cryptage de jeton, ou cryptage de signe, selon comment vous aimez l'appeler)
Laissez-moi vous parler de la façon dont j'ai cryptez-le. Oui, je suggère que les interfaces soient toutes livrées par courrier, donc les paramètres suivants sont tous basés sur la livraison post
1 Tout d'abord, triez les paramètres transmis dans le dictionnaire de clés et supprimez le. valeur du jeton (PHP fournit une fonction A ksort, qui par défaut est le tri de code ASICC standard. Il y a un piège ici, c'est-à-dire que le tri d'IOS est parfois différent de celui d'Android, mais seulement dans certains cas)2. Concaténez les valeurs triées (PHP fournit une fonction http_build_query)
3. Collez une clé personnalisée après la chaîne triée (cela doit être cohérent avec le front-end), puis cryptez md5
4. Convertissez-le en majuscules en tant que jeton et utilisez-le comme paramètre.
Postons le code
function makeToken($data){ //$data就是$_POST传过来的参数 unset($data['token']); unset($data['auth_key']); //这个下面会说到 ksort($data); $string = http_build_query($data); if(empty($data)){ $string = 'key=CT01aVVsCkSxYdxi55ml'; } else { $string = $string .'&key=CT01aVVsCkSxYdxi55ml'; } $string = md5($string); $result = strtoupper($string); return $result; }
<?phpnamespace Api\Controller;use Think\Controller;/** * 公共控制器 */class CommonController extends Controller { public function _initialize(){ // // //验证token $token = I('token'); $sal = makeToken($_POST); if($sal!=$token){ $result = ajaxR(404,'认证失败'); $this->ajaxReturn($result); } } }
Certaines interfaces font exception. Elles peuvent demander des données directement sans paramètres, il vous suffit donc de chiffrer la clé personnalisée avec md5, c'est-à-dire de chiffrer la chaîne key=CT01aVVsCkSxYdxi55ml Bien sûr, cette chaîne Vous pouvez le faire comme vous le souhaitez. , l'essentiel est de négocier avec le front-end.
Avant le tri des paramètres, c'est-à-dire avant http_build_query, vous devez supprimer le jeton et la auth_key transmis depuis le front-end (sans parler de cela en premier), puis participer au tri. Cela doit également être négocié avec le front-end. .
Vous pouvez définir vous-même les règles de génération auth_key. Après vous être enregistré et connecté à l'APP, stockez cette chaîne dans l'utilisateur correspondant et renvoyez-la au front-end. Chaque accès après le front-end portera ce paramètre auth_key. peut interroger les informations pertinentes de cet utilisateur via ce paramètre.
Bien sûr, vous pouvez également définir une limite de temps sur cette auth_key, par exemple, lui donner une période de 7 jours, l'appeler dans chaque méthode du projet pour voir si elle a expiré, et si elle expire, renvoyer un statut de connexion au front-end Invalide, déconnectez-vous.
En fait, il n'est pas difficile de développer l'interface de l'APP. L'essentiel est de négocier avec le front-end et ce sera facile à faire. Généralement, ce que nous retournons est au format json, comme suit
{ "code": 200, "message": "获取信息成功", "data": { "lng": "113.743393", "lat": "23.015902", }}
Puisque le blogueur se prépare également à réaliser un projet APP, je vais écrire mon expérience afin de pouvoir la revoir à l'avenir, haha.
Parce que nous écrivons des interfaces, la sécurité passe avant tout et nous ne pouvons tuer personne, n'est-ce pas ? Nous devons donc négocier une méthode de cryptage d'interface avec le front-end, et chaque interface en a besoin (cela peut être appelé cryptage de jeton, ou cryptage de signe, selon comment vous aimez l'appeler)
Laissez-moi vous parler de la façon dont j'ai cryptez-le. Oui, je suggère que les interfaces soient toutes livrées par courrier, donc les paramètres suivants sont tous basés sur la livraison post
1 Tout d'abord, triez les paramètres transmis dans le dictionnaire de clés et supprimez le. valeur du jeton (PHP fournit une fonction A ksort, qui par défaut est le tri de code ASICC standard. Il y a un piège ici, c'est-à-dire que le tri d'IOS est parfois différent de celui d'Android, mais seulement dans certains cas)2. Concaténez les valeurs triées (PHP fournit une fonction http_build_query)
3. Collez une clé personnalisée après la chaîne triée (cela doit être cohérent avec le front-end), puis cryptez md5
4. Convertissez-le en majuscules en tant que jeton et utilisez-le comme paramètre.
Postons le code
function makeToken($data){ //$data就是$_POST传过来的参数 unset($data['token']); unset($data['auth_key']); //这个下面会说到 ksort($data); $string = http_build_query($data); if(empty($data)){ $string = 'key=CT01aVVsCkSxYdxi55ml'; } else { $string = $string .'&key=CT01aVVsCkSxYdxi55ml'; } $string = md5($string); $result = strtoupper($string); return $result; }
<?phpnamespace Api\Controller;use Think\Controller;/** * 公共控制器 */class CommonController extends Controller { public function _initialize(){ // // //验证token $token = I('token'); $sal = makeToken($_POST); if($sal!=$token){ $result = ajaxR(404,'认证失败'); $this->ajaxReturn($result); } } }
Certaines interfaces font exception. Elles peuvent demander des données directement sans paramètres, il vous suffit donc de chiffrer la clé personnalisée avec md5, c'est-à-dire de chiffrer la chaîne key=CT01aVVsCkSxYdxi55ml Bien sûr, cette chaîne Vous pouvez le faire comme vous le souhaitez. , l'essentiel est de négocier avec le front-end.
Avant le tri des paramètres, c'est-à-dire avant http_build_query, vous devez supprimer le jeton et la auth_key transmis depuis le front-end (sans parler de cela pour l'instant), puis participer au tri. Cela doit également être négocié avec le front. fin.
接下来说下auth_key吧,大家都知道session是用来记住web页面的用户登录状态的,而APP也是需要登录用户状态的。这里我使用的一个自己加密的一串用来记住用户登录状态,叫auth_key的参数。
auth_key的生成规则你可以自己定义,在APP端注册登录之后,把这个串存入相应的用户里面,并且将其返回给前端,前端之后的每个访问都带上这个auth_key这个参数,而你就可以通过这个参数来查询这个用户的相关信息。
当然,你也可以对这个auth_key进行一个时间的限制,例如给个7天的期限,在项目的每个方法都调用一下,看看是否过期了,过期了就给前端返回一个登陆状态失效,退出登录。
其实开发APP的接口不难,主要和前端协商好,就很容易办。一般我们返回的都是json格式,如下
{ "code": 200, "message": "获取信息成功", "data": { "lng": "113.743393", "lat": "23.015902", }}
定义好返回的状态码和信息还有数据,这是必不可少的。
相关推荐:
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)

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Liaison statique (statique: :) implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.
