Dans les systèmes de sites Web d'aujourd'hui, afin de garantir la sécurité des comptes d'utilisateurs, de plus en plus de plates-formes ont introduit l'authentification du code de vérification SMS dans le processus d'enregistrement et de connexion, et enregistré le comportement des utilisateurs via les journaux de connexion. Cet article combinera un exemple de code pour expliquer comment utiliser PHP pour implémenter ces deux fonctions couramment utilisées.
Le code de vérification SMS est une méthode de vérification secondaire courante. Les utilisateurs reçoivent des messages texte de téléphone mobile et saisissent le code de vérification, et le système authentifie ensuite en fonction de l'entrée. Ce qui suit est un exemple de PHP qui implémente les SMS envoyés:
function sendSMS($phoneNumber, $code) {
// Appeler la plate-forme SMSAPIEnvoyer un message texte du code de vérification
$apiUrl = 'http://smsapi.example.com/send_sms';
$postData = array(
'phone' => $phoneNumber,
'code' => $code
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
// Générer un code de vérification aléatoire à quatre chiffres
$code = rand(1000, 9999);
// Numéro de mobile utilisateur
$phoneNumber = '13800138000';
// Envoyer le code de vérification
$response = sendSMS($phoneNumber, $code);
// Déterminez le résultat d'envoi
if ($response === 'success') {
echo 'Le code de vérification a été envoyé à votre téléphone mobile,Vérifiez s'il vous plaît。';
} else {
echo 'Le code de vérification n'a pas été envoyé,Veuillez réessayer plus tard。';
}
Ce code appelle l'interface de plate-forme SMS tierce et envoie des messages SMS contenant des codes de vérification. Les développeurs peuvent les ajuster en fonction des documents d'interface de leur propre plate-forme.
Pour surveiller le comportement de connexion des utilisateurs et améliorer la sécurité du système, les journaux de connexion de la journalisation sont essentiels. Voici un exemple de la fonction que PHP écrit au journal de connexion:
function writeLoginLog($userId, $loginStatus) {
$logFile = 'login.log';
$loginTime = date('Y-m-d H:i:s');
$ipAddress = $_SERVER['REMOTE_ADDR'];
$logMessage = "{$loginTime} {$userId} {$ipAddress} {$loginStatus}\n";
file_put_contents($logFile, $logMessage, FILE_APPEND);
}
// Exemple d'appel après une connexion réussie
$userId = 123456;
$loginStatus = 'SUCCESS';
writeLoginLog($userId, $loginStatus);
Cette fonction écrit les informations de chaque connexion dans le fichier journal, y compris le temps, l'ID utilisateur, l'adresse IP et l'état de connexion, et peut également être étendu aux enregistrements de base de données pour une analyse et une audit plus faciles.
Grâce à l'introduction de cet article, nous avons appris à utiliser PHP pour implémenter le code de vérification SMS Envoi et journalisation dans la journalisation. La vérification SMS peut efficacement améliorer la sécurité de l'authentification des utilisateurs, tandis que le journal de connexion fournit une base pour le suivi de la sécurité du système. L'intégration de ces fonctions améliore non seulement l'expérience utilisateur, mais fournit également un solide prise en charge du fonctionnement et de la maintenance en toute sécurité de la plate-forme. Les développeurs peuvent davantage se développer en fonction des besoins du projet, tels que l'ajout de fonctions telles que le temps d'expiration de vérification des SMS, la limitation du nombre de défaillances ou la visualisation des journaux.