Le framework ThinkPHP a une fonction de session intégrée par défaut et utilise le mécanisme de session de PHP pour la gestion des données. Cependant, dans certains scénarios, tels que le développement de l'interface de l'APP, les développeurs espèrent désactiver le mécanisme de session et utiliser le mécanisme de jeton pour assurer la sécurité de l'interface. Cet article présentera comment désactiver la fonction de session dans ThinkPhp et l'impact sur l'application après l'avoir clôturé.
Dans ThinkPhp, il existe deux façons courantes de fermer la session:
Recherchez le fichier System / Session.php dans le répertoire de code source ThinkPHP et ajoutez le code de configuration suivant:
'use_cookies' => false,
'use_trans_sid' => false,
Dans les paramètres ci-dessus, use_cookies contrôle si l'ID de session est enregistré via des cookies, et use_trans_sid contrôle si l'ID de session est autorisé à être transmis par URL. Après avoir désactivé ces deux options, la fonction de session ne prendra plus effet.
Vous pouvez ajouter la configuration suivante au fichier de configuration de l'application (tel que config.php):
// fermeturesessionDémarrage automatique
'SESSION_AUTO_START' => false,
De cette façon, le mécanisme de session par défaut du système sera désactivé et la session ne sera pas automatiquement activée.
Après avoir désactivé la fonction de session, les modifications suivantes se produiront pour l'application:
Après la session de clôture, les fonctions liées à la session de PHP et les variables globales (telles que session_start , $ _Session ) ne seront pas disponibles.
La gestion traditionnelle de l'état de connexion dépend de la session et d'autres méthodes doivent être utilisées après la fermeture, telles que l'authentification basée sur les jetons. Une fois la connexion réussie, le serveur génère un jeton, le client l'enregistre et le porte dans les demandes suivantes. Le serveur détermine si la demande est légale en vérifiant le jeton.
La désactivation du mécanisme de session réduit les données de session de lecture et d'écriture du serveur aide à réduire le fardeau sur le serveur et à améliorer les performances de l'application.
Cet article présente deux méthodes principales de fermeture de la session dans ThinkPHP et analyse l'impact sur l'application après la clôture de la session. La session spécifique doit être sélectionnée de manière flexible en fonction du scénario d'application et des besoins de sécurité.