Dans une approche de session basée sur des jetons, les jetons sont utilisés pour vérifier l'identité de l'utilisateur. Contrairement aux magasins de sessions, il n’existe pas de base de données centrale pour invalider les jetons. Cela soulève des inquiétudes quant à la manière d'invalider efficacement les sessions et d'atténuer les attaques potentielles.
Mécanismes de révocation des jetons
Bien qu'il n'existe pas d'équivalent direct aux mises à jour du magasin clé-valeur dans un jeton, approche basée sur cette approche, plusieurs mécanismes peuvent être utilisés pour obtenir l'invalidation du jeton :
Jeton côté client Suppression :
La simple suppression du jeton du client empêche les attaquants de l'utiliser. Cependant, cela n'affecte pas la sécurité côté serveur.
Liste de blocage des jetons :
Maintenir une base de données de jetons invalidés et comparer les requêtes entrantes avec celle-ci peut être fastidieux et peu pratique.
Délais d'expiration courts et Rotations :
Définir des délais d'expiration de jetons courts et les faire tourner régulièrement invalide efficacement les anciens jetons. Cependant, cela limite la possibilité de garder les utilisateurs connectés lors des fermetures de clients.
Mesures d'urgence
En cas d'urgence, autorisez les utilisateurs à modifier leur identifiant de recherche sous-jacent. Cela invalide tous les jetons associés à leur ancien identifiant.
Attaques et pièges courants basés sur les jetons
Semblables aux approches de stockage de sessions, les approches basées sur les jetons sont susceptibles de :
Stratégies d'atténuation
Pour atténuer ces attaques, envisagez :
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!