Bonjour
J'utilise les sessions pour gérer les pages accessibles seulement aux utilisateurs qui sont inscrits.
Mon service est payant et je ne veux pas qu'une seule personne s'inscrive et partage son identifiant. Je ne peux pas complètement empêcher ça, mais je veux au moins empêcher que 2 personnes se connectent avec le même identifiant en même temps. Je ne peux pas utiliser l'IP car je veux aussi empêcher que 2 postes sur la même IP se connectent en même temps.
Sur les forums j'ai trouvé 2 solutions qui ne me vont pas :
- Ejecter le 1er utilisateur connecté quand un 2eme se connecte avec le même identifiant. Je veux empêcher le 2ème de se connecter.
- Enregistrer en base quand un utilisateur se connecte et quand il se déconnecte. Le problème est que rare sont ceux qui se déconnectent proprement, et alors quand il revient la base le voit toujours connecté. Pour pallier à ça, on peut sauver un timestamp à chaque fois qu'il y a une action, et considérer que si la dernière action a plus de 10min, on l'autorise à se reconnecter car la connexion est trop vieille. Mais si l'utilisateur veut se reconnecter moins de 10min après on aura toujours le même problème.
Est-ce que quelqu'un connait une solution pour empêcher un 2ème utilisateur de se connecter simultanément avec le même compte ?
(Je précise que c'est un comportement que j'ai déjà vu dans au moins un site, donc c'est possible)
Partager