Je comprends bien, mais il peut toujours modifier son user agent. Il est très important qu'il ne puisse pas ouvrir deux sessions simultanées sur le même compte.
J'ai pensé a changé les id de sessions (aléatoires) pour les remplacer par l'identifiant du client, de façons à faire une recherche dans le dossier tmp où sont stockés les sessions. Le problème c'est au niveau de la sécurité ...
Alors je me suis dit qu'il fallait lire toutes les sessions une par une pour voir si une session contient déjà la variable $_SESSION['identifiant'] correspondant au client. Mais c'est très lourd, et difficile sans connaitre précisément les noms des fichiers session à ouvrir.
J'ai lu qu'on pouvait carrément placer les sessions dans la base de données :
http://www.siteduzero.com/tutoriel-3-31976-stocker-les-sessions-dans-votre-base-de-donnees.html
Le problème c'est que j'utilise précisément les sessions pour stocker les infos du client (listes... etc) pour ne pas avoir à les rechercher à chaque fois dans la base, ce qui au final serait lourd pour la base de données.
Je me demande si je devrais pas refaire le système de session, avec une table XML dans un fichier, directement accessible depuis le serveur, un peu comme SqlLite ...
