PHP, en tant que langage de script côté serveur, peut interagir avec le front-end et fournir des fonctions de vérification de connexion pour les applications mobiles. Cet article explique comment implémenter la connexion par vérification d'application en PHP.
1. Connaissances pré-requises
Familiarisé avec les bases du langage PHP
Familiarisé avec les requêtes et réponses HTTP
Familiarisé avec le processus de connexion à l'APP mobile
2. Mise en œuvre processus
APP lance une demande de connexion et doit envoyer le numéro de compte, le mot de passe et d'autres informations saisies par l'utilisateur au serveur.
Après avoir reçu la demande, le serveur extrait le numéro de compte, le mot de passe et d'autres données saisies par l'utilisateur, et utilise une base de données (telle que MySQL) à des fins de comparaison et de vérification.
En vous connectant à la base de données, extrayez les données du nom d'utilisateur et du mot de passe de la base de données, comparez les données saisies par l'utilisateur avec les données de la base de données, si la vérification est réussie, générez une session ou un jeton et d'autres informations, et envoyez-les comme résultat de réponse à l'application mobile.
APP reçoit la session ou le jeton et d'autres informations renvoyées par le serveur, et les stocke dans le stockage local de l'appareil pour les demandes futures.
Lorsque l'APP envoie une demande au serveur, elle place les informations de session ou de jeton dans l'en-tête de la demande. Lorsque le serveur reçoit la demande, il vérifie la session ou le jeton. le résultat de la demande est renvoyé, sinon il est renvoyé Vérifiez le message d'erreur.
Afin de garantir la sécurité, le serveur doit limiter la période de validité des informations de connexion. Si l'utilisateur n'effectue aucune opération dans un délai donné, il doit se reconnecter et régénérer sa session ou son jeton. information.
3. Implémentation du code
Ce qui suit est un processus simple d'implémentation du code de vérification de connexion.
Utilisez le langage PHP PDO (PHP Data Objects) pour la connexion et le fonctionnement de la base de données. Vous devez fournir l'adresse de l'hôte de la base de données, le nom d'utilisateur, le mot de passe et d'autres informations. Le code spécifique est le suivant :
<?php $servername = "localhost"; $username = "username"; $password = "password"; try { $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected successfully"; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } ?>
Réussi La méthode POST obtient les données de compte et de mot de passe saisies par l'utilisateur, utilise des instructions préparées pour précompiler l'instruction de requête et demande si le nom d'utilisateur et le mot de passe correspondants existent dans la base de données. Si tel est le cas, les informations de réussite sont renvoyées. , sinon les informations d'échec sont renvoyées. Le code spécifique est le suivant :
<?php // 验证用户输入数据 if ($_SERVER["REQUEST_METHOD"] == "POST") { // 获取POST请求中的数据 $username = $_POST["username"]; $password = $_POST["password"]; // 以预编译语句方式查询数据库中用户信息 $stmt = $conn->prepare("SELECT * FROM users WHERE username=:username AND password=:password"); $stmt->bindParam(':username', $username); $stmt->bindParam(':password', $password); $stmt->execute(); $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); $rows = $stmt->fetchAll(); if (count($rows) > 0) { // 用户验证成功 echo "Login successfully"; // 将session或token等信息返回给移动端APP // 略 } else { // 用户验证失败 echo "Login failed"; } } ?>
Lors de la mise en œuvre de la vérification de la demande côté serveur, les informations de session ou de jeton doivent être retirées de l'en-tête de la demande pour vérifier sa validité. Le code spécifique est le suivant :
<?php // 请求验证处理 if ($_SERVER["REQUEST_METHOD"] == "GET") { // 从请求头中获取session或token信息 $token = $_SERVER['HTTP_TOKEN']; // 判断session或token是否存在或已失效 if (isset($_SESSION['token']) && $_SESSION['token'] == $token) { // 请求验证成功 echo "Request authorized"; // 略 } else { // 请求验证失败 echo "Request unauthorized"; } } ?>
4. Résumé
Grâce à la mise en œuvre ci-dessus, nous pouvons vérifier efficacement la connexion à l'application mobile et assurer la sécurité des informations de l'utilisateur. Dans le développement réel, davantage de situations doivent être prises en compte, telles que les cookies et le cache client, la prise en charge multiplateforme, etc. Dans le même temps, nous devons également prendre en compte les problèmes de sécurité, tels que XSS, CSRF et autres méthodes d'attaque, et renforcer la protection de sécurité du code.
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!