Bien que ce que tous les autres ont dit ici soit exact, à savoir que vous ne pouvez pas empêcher quelqu'un d'ouvrir votre site Web deux fois, il existe peut-être une solution de rechange pour vous. Notez qu'il ne s'agit pas d'une solution à 100 % et que vous devrez développer un code supplémentaire sur cette base.
D'après ce que je comprends, vous avez les problèmes suivants :
- Comment déterminer si un utilisateur a votre page ouverte avec une fenêtre/un onglet qui partage des données de session (c'est-à-dire deux onglets dans Chrome, 2 fenêtres Chrome, etc.) - c'est pourtant la partie la plus facile.
- Comment déterminer si un utilisateur a votre page ouverte dans un navigateur différent (c'est-à-dire ouverte dans FF et Chrome en même temps) - c'est là que le bât blesse.
Cependant, vous pouvez utiliser LSO - Objets partagés locaux pour y parvenir. Il s'agit d'éléments de données similaires aux cookies basés sur Flash et stockés du côté du client. ET ILS SONT COMPATIBLES AVEC TOUS LES NAVIGATEURS ET TOUS LES DOMAINES. Vous pouvez trouver une belle bibliothèque appelée EVERCOOKIE pour les utiliser. aquí .
En plaçant un tel cookie, vous pourrez suivre l'utilisateur même s'il ouvre une nouvelle fenêtre ou même s'il ouvre votre page dans un autre navigateur, dans la mesure où les navigateurs partagent la même installation Flash, etc.
Notez que cela n'empêchera pas quelqu'un d'ouvrir directement deux fenêtres, mais cela vous permet de l'envoyer dans le même état de séquence qu'il se trouve dans l'autre fenêtre par exemple.
Vous devez également savoir que ce n'est pas une solution à 100 %. Il y aura toujours une astuce pour contourner ce problème, même si je pense que les utilisateurs normaux n'y parviendront pas...