Mysql
 sql >> Base de données >  >> RDS >> Mysql

le même utilisateur connecté a attribué des identifiants de session différents (dans différents navigateurs)

Si vous stockez la session dans la base de données, ajoutez un mécanisme par lequel l'ID utilisateur est stocké dans le cadre de l'enregistrement de session de votre base de données, créant ce que j'aime appeler une "session sémantique". Lorsque l'utilisateur se connecte, vérifiez si une autre session existe déjà ; si c'est le cas, utilisez session_id() pour fixer la nouvelle session à l'ID de l'ancienne session, qui les rejoindra (et devrait changer l'ID de votre nouvelle session pour toutes les requêtes ultérieures). Assurez-vous de n'effectuer cette action que pendant l'étape de connexion, sinon vous pourriez vous retrouver avec des conditions de concurrence bizarres de deux sessions essayant d'être l'une de l'autre et "d'échanger".