Position actuelle: Accueil> Derniers articles> PHP réalise la vérification et la fonction de connexion du téléphone mobile: étapes et précautions détaillées

PHP réalise la vérification et la fonction de connexion du téléphone mobile: étapes et précautions détaillées

gitbox 2025-06-16

1. Préface

Avec le développement continu d'applications Internet, la vérification de la connexion des utilisateurs est devenue une fonction indispensable dans les sites Web et les applications, en particulier dans les applications mobiles, la demande de connexion de vérification du téléphone mobile augmente. Afin d'améliorer l'expérience utilisateur, la méthode de connexion du code de vérification du téléphone mobile est devenue de plus en plus populaire. Cet article présentera comment utiliser PHP pour réaliser la fonction de connexion de vérification du téléphone mobile.

2. Étapes de mise en œuvre

2.1. Obtenir le code de vérification

La première étape de la connexion de vérification du téléphone mobile consiste à obtenir le code de vérification. Obtenir des codes de vérification via l'API SMS est le moyen le plus courant. Cet article prend le service SMS Cloud Alibaba comme exemple pour montrer comment obtenir le code de vérification SMS.

Tout d'abord, nous devons présenter le SDK pour le service SMS:

 
require_once 'alidayu/TopSdk.php';
date_default_timezone_set('Asia/Shanghai');

Ensuite, définissez les paramètres pertinents:

 
// installationappkeyetsecret
$c = new TopClient();
$c->appkey = 'appkey';
$c->secretKey = 'secret';
$req = new AlibabaAliqinFcSmsNumSendRequest();
// installation短信类型
$req->setSmsType("normal");
// installation短信签名
$req->setSmsFreeSignName("Vérification de la connexion");
// installation接收短信的numéro de téléphone
$req->setRecNum("numéro de téléphone");
// installation短信模板ID
$req->setSmsTemplateCode("SMS_5044823");
// installation短信Code de vérification dans参数
$random = mt_rand(1000, 9999);
$req->setSmsParam("{\"code\":\"$random\"}");
// Effectuer l'envoi
$resp = $c->execute($req);

Parmi eux, les ID de modèle Appkey, Secret et SMS doivent être créés dans la console Cloud Alibaba.

2.2. Codes de vérification du stockage

Le stockage du code de vérification peut être sélectionné comme session ou redis. Dans cet article, nous utilisons Redis pour stocker les codes de vérification car Redis a une meilleure évolutivité et convient aux scénarios d'application à forte concurrence.

Tout d'abord, introduisez Redis:

 
$redis = new Redis();
$redis->connect('localhost', 6379);

Ensuite, stockez le code de vérification et définissez le temps d'expiration:

 
$redis->set('key', 'value');
// installation验证码的过期时间为10minute
$redis->expire('key', 600);

2.3. Vérification du code de vérification

Une fois que l'utilisateur est entré dans le code de vérification, le système doit vérifier si le code de vérification entré par l'utilisateur correspond au code de vérification stocké dans Redis:

 
// Obtenez le code de vérification entré par l'utilisateur
$code = $_POST['code'];
// Être stockéRedisCode de vérification dans
$redis_code = $redis->get('key');
if ($code == $redis_code) {
    // La vérification est réussie
} else {
    // Échec de la vérification
}

2.4. Traitement de connexion réussi

Une fois la vérification réussie, il est généralement nécessaire de stocker des informations utilisateur dans la session ou la base de données pour la gestion ultérieure de l'état de connexion.

2.5. Traitement de la sécurité

Faites attention aux problèmes de sécurité pendant le processus d'utilisation de votre téléphone mobile pour vérifier la connexion. La période de validité du code de vérification est relativement courte et vulnérable aux attaques malveillantes. Afin d'éviter la fissuration de la force brute, il est recommandé de limiter le nombre de fois que le même utilisateur obtient des codes de vérification dans un certain délai, ou de combiner la vérification des ordinateurs humains (tels que les codes de vérification coulissants) pour empêcher le balayage malveillant.

3. Choses à noter

3.1. Période de validité du code de vérification

La période de validité du code de vérification doit être définie en fonction du scénario d'application spécifique. D'une manière générale, il est plus approprié de régler la période de validité du code de vérification à 60 secondes à 5 minutes. Cependant, dans des circonstances particulières, par exemple, si l'utilisateur peut ne pas être en mesure de recevoir le code de vérification à temps pour des problèmes de réseau ou d'autres raisons, la période de validité du code de vérification peut être prolongée de manière appropriée.

3.2. Paramètres de la stratégie anti-brossage

Afin d'éviter que le code de vérification soit malicieusement récupéré, une stratégie anti-brossage peut être définie. Par exemple, limitez le nombre de fois que chaque utilisateur obtient des codes de vérification dans une certaine période de temps, ou combine des méthodes de vérification des ordinateurs humains tels que les codes de vérification coulissants pour améliorer la sécurité du système.

3.3. Paramètres des champs de base de données

Lorsque vous utilisez votre téléphone mobile pour vérifier la connexion, il est recommandé d'ajouter un nouveau champ à la base de données pour marquer la méthode de connexion de l'utilisateur. Par défaut, les utilisateurs se connectent avec le mot de passe. Si les utilisateurs se connectent avec le code de vérification, ils peuvent définir ce champ sur "code" ou une autre identification pour le traitement ultérieur.

4. Résumé

Cet article présente comment réaliser la vérification et la fonction de connexion du téléphone mobile via PHP, en se concentrant sur les étapes spécifiques de l'obtention, du stockage, de la vérification et du traitement de connexion des codes de vérification. Dans le même temps, il discute également des précautions telles que la façon de définir la période de validité du code de vérification, empêchent raisonnablement le rinçage et la configuration des champs de base de données. Afin d'assurer la sécurité et l'efficacité du système, les développeurs doivent choisir la solution appropriée en fonction des besoins réels.