Le principal problème avec les sessions PHP et la sécurité (en plus du piratage de session) vient de l'environnement dans lequel vous vous trouvez. Par défaut, PHP stocke les données de session dans un fichier dans le répertoire temporaire du système d'exploitation. Sans aucune réflexion ou planification particulière, il s'agit d'un répertoire lisible par le monde entier, de sorte que toutes vos informations de session sont publiques pour toute personne ayant accès au serveur.
En ce qui concerne le maintien des sessions sur plusieurs serveurs. À ce stade, il serait préférable de basculer PHP vers des sessions gérées par l'utilisateur où il appelle vos fonctions fournies à CRUD (créer, lire, mettre à jour, supprimer) les données de session. À ce stade, vous pouvez stocker les informations de session dans une base de données ou une solution de type cache mémoire afin que tous les serveurs d'application aient accès aux données.
Stocker vos propres sessions peut également être avantageux si vous êtes sur un serveur partagé car cela vous permettra de les stocker dans la base de données sur laquelle vous avez souvent plus de contrôle que le système de fichiers.