Maison >développement back-end >Problème PHP >Comment empêcher les utilisateurs non connectés d'accéder directement au backend en PHP
Lorsque vous utilisez PHP pour développer un site Web, assurer la sécurité des informations des utilisateurs est une tâche très importante. L'une d'elles consiste à interdire aux utilisateurs non connectés d'accéder directement au backend pour éviter les opérations illégales, les fuites d'informations et d'autres problèmes. Cet article explique comment utiliser le codage PHP pour empêcher les utilisateurs non connectés d'accéder directement au backend.
1. Connexion à l'aide d'une session
Afin de garantir la sécurité des informations des utilisateurs, les sessions sont souvent utilisées dans le développement de sites Web pour stocker les informations de base des utilisateurs, notamment l'ID utilisateur, le nom d'utilisateur, le mot de passe, etc. Utiliser une session pour se connecter peut également empêcher efficacement la connexion de certains sites Web. Les problèmes de sécurité rendent le site Web plus stable et sécurisé.
Session est une technologie de stockage et d'accès aux informations côté serveur. Son avantage est qu'elle peut être stockée et utilisée de manière très flexible. En PHP, pour utiliser la session, vous devez activer le commutateur de session et définir le chemin save_path de la session. Après vous être connecté, utilisez la fonction session_register() pour stocker les informations utilisateur dans la session. Le code est implémenté comme suit :
<?php session_start(); $username="admin";//定义用户名 $password="123456";//定义密码 if($_POST['username']==$username && $_POST['password']==$password) { $_SESSION['username']=$username;//将用户名存入内存中 $_SESSION['password']=$password;//将密码存入内存中 header("Location: admin.php");//跳转到后台页面 exit(); } ?>
2. . Pour empêcher les utilisateurs non connectés d'accéder directement au backend, la fonction
implémente la fonction d'interdire aux utilisateurs non connectés d'accéder directement au backend. Il est nécessaire de déterminer s'ils se sont connectés sur la page backend. Vous pouvez ajouter le code suivant en tête de la page d'arrière-plan :
<?php session_start(); if(!isset($_SESSION['username'])||!isset($_SESSION['password'])) { header("Location: index.php");//跳转到登陆页面(也可自定义其他跳转页面) exit(); } ?>
Explication du code : activez d'abord la session, puis déterminez si un utilisateur s'est connecté. Sinon, revenez directement à la page de connexion et quittez PHP.
Pour une meilleure sécurité des informations, il est recommandé de définir la fonction session_regenerate_id() après session_start() pour mettre à jour le session_id afin d'améliorer la sécurité du site Web.
3. Exemple de code complet
Ce qui suit est un exemple de code complet qui interdit aux utilisateurs non connectés d'accéder directement au backend pour référence :
<?php //login.php 登陆页面 session_start(); $username="admin";//定义用户名 $password="123456";//定义密码 if($_POST['username']==$username && $_POST['password']==$password) { $_SESSION['username']=$username; $_SESSION['password']=$password; header("Location: admin.php");//跳转到后台页面 exit(); } ?> <?php //admin.php 后台页面 session_start(); if(!isset($_SESSION['username'])||!isset($_SESSION['password'])) { header("Location: login.php");//跳转到登陆页面(也可自定义其他跳转页面) exit(); } session_regenerate_id(true);// 更新 session_id ?>
En bref, les méthodes ci-dessus sont des moyens efficaces pour protéger les informations du site Web. sécurité, mais il existe également certains risques, en particulier lors de l'utilisation de sessions, vous devez être très prudent pour éviter des problèmes tels que la fuite d'informations utilisateur.
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!