Maison  >  Article  >  développement back-end  >  réglage de l'heure de connexion php

réglage de l'heure de connexion php

王林
王林original
2023-05-07 11:17:13758parcourir

Dans le développement de sites Web, la connexion est une fonction relativement importante. Afin de protéger les informations des utilisateurs et la sécurité du site Web, nous devons définir une heure de connexion. Cet article explique comment définir l'heure de connexion en php.

1. Introduction au mécanisme de session

En PHP, la session est un mécanisme très important. Elle peut enregistrer certaines données côté serveur afin que les utilisateurs puissent les transférer et y accéder entre différentes pages du même site Web. La session est mise en œuvre sur la base de cookies. Chaque fois qu'une page est demandée, le cookie apportera un identifiant de session et le serveur pourra identifier l'utilisateur en conséquence.

2. Paramètre du délai d'expiration de la session

Pour définir le délai d'expiration de la session en php, vous pouvez utiliser la variable session.cookie_lifetime. Cette variable représente le cycle de vie de la session, en secondes. Par défaut, la session expire lorsque l'utilisateur ferme le navigateur. Nous pouvons obtenir un contrôle de session plus fin en modifiant cette variable.

Par exemple, si nous voulons que la session expire après 10 minutes, nous pouvons la définir comme ceci :

session_start();
// 将session的生存时间设置为600秒
ini_set('session.cookie_lifetime', 600);

Bien sûr, vous pouvez également utiliser le fichier php.ini pour la définir. Dans php.ini, nous pouvons trouver le paramètre session.cookie_lifetime et le définir sur la valeur dont nous avons besoin.

3. Contrôler le temps de fonctionnement de l'utilisateur

En plus de contrôler le temps d'expiration de la session, nous pouvons également contrôler le temps de fonctionnement de l'utilisateur via d'autres méthodes. Par exemple, nous pouvons enregistrer l'heure de la dernière opération de l'utilisateur. Si l'utilisateur n'effectue aucune opération dans un certain laps de temps, nous déterminerons qu'il s'est déconnecté.

Ce qui suit est une idée de mise en œuvre simple :

session_start();

// 如果没有登录,重定向到登录页面
if (!isset($_SESSION['user'])) {
    header('location: login.php');
    exit();
}

// 获取用户最后一次操作时间
$lastActive = $_SESSION['last_active'];

// 判断用户是否已经超时
if (time() - $lastActive > 600) {  // 用户超时时间设置为10分钟
    // 销毁session
    session_unset();
    session_destroy();

    // 重定向到登录页面
    header('location: login.php');
    exit();
}

// 更新用户最后操作时间
$_SESSION['last_active'] = time();

// 用户未超时,可以继续执行相关操作

Dans le code ci-dessus, nous déterminons d'abord si l'utilisateur est connecté, et sinon, redirigeons vers la page de connexion. Si l'utilisateur est connecté, obtenez l'heure de sa dernière opération. Si l'heure actuelle est supérieure à 10 minutes (c'est-à-dire le délai d'attente que nous avons défini), nous détruisons la session et redirigeons vers la page de connexion. Si l'utilisateur n'expire pas, nous mettrons à jour l'heure de sa dernière opération afin de pouvoir continuer à juger la prochaine fois.

4. Résumé

À travers l'introduction ci-dessus, nous pouvons voir que le contrôle du temps de connexion PHP est très critique. Nous devons établir un mécanisme complet de contrôle de session pour protéger les informations des utilisateurs et la sécurité du site Web. Lors de la mise en œuvre, nous pouvons utiliser le mécanisme de session pour enregistrer les informations utilisateur et définir l'heure de connexion en définissant l'heure d'expiration de la session et en contrôlant le temps de fonctionnement de l'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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn