Comment voulez-vous empêcher que plusieurs clients d'utiliser le même ID de session? Je vous pose cette question parce que je veux ajouter une couche supplémentaire de sécurité pour empêcher le détournement de session sur mon site. Si un hacker en quelque sorte les chiffres d'un autre utilisateur ID de session et fait des demandes avec SID, comment puis-je détecter qu'il y a différents clients de partager un seul SID sur le serveur et puis rejeter la tentative de détourner?
MODIFIER
J'ai accepté Gumbo de réponse après un examen attentif, parce que j'en suis venu à la réalisation que ce que je demande, c'est impossible à cause de la restriction d'un apatride protocole HTTP. Je l'avais oublié, ce qui est peut-être le principe le plus fondamental de HTTP, et maintenant que je pense à propos de cette question semble un peu trivial.
Permettez-moi de préciser ce que je veux dire:
Une fois l'Utilisateur a se connecte sur example.com il est donné quelques aléatoire ID de session, par souci de simplicité, let it be "abc123'. Cet ID de session est stocké dans un cookie sur le côté client et est validée par une session côté serveur pour vous assurer que l'utilisateur qui s'est connecté en reste connecté en tant qu'il passe d'une page à l'autre. Ce cookie bien sûr n'aurait pas besoin d'exister si HTTP n'étaient pas des apatrides. Pour cette raison, si l'Utilisateur B vole de l'Utilisateur SID, et crée un cookie sur son ordinateur avec la valeur "abc123", il aurait été détournés de l'Utilisateur de la session, mais il n'y a tout simplement aucun moyen pour que le serveur puisse légitimement reconnaître que l'Utilisateur B demande est tout différent de l'Utilisateur le demande, et donc le serveur n'a pas de raison de rejeter une demande. Même si nous étions à la liste des travaux qui étaient déjà actifs sur le serveur et essayez de voir si quelqu'un accède à une session qui est déjà active, comment pouvons-nous savoir que c'est un autre utilisateur qui accède à la session de manière illégitime et pas le même utilisateur qui est déjà ouvert une session avec un IDENTIFIANT de session, mais simplement essayer de faire une autre demande avec elle (c'est à dire naviguer vers une autre page web). Nous ne pouvons pas. La vérification de l'agent de l'utilisateur? Peut être usurpée - mais bien comme un moyen de Défense dans la mesure de la Profondeur de néanmoins. Adresse IP? Peut changer pour des raisons légitimes - mais plutôt que de ne pas la vérification de l'adresse IP à tous, je propose de le vérifier quelque chose comme les deux premiers octets de l'adresse IP, que même un utilisateur sur un plan de données de réseau qui dispose à tout moment d'un changement de propriété intellectuelle pour des raisons parfaitement légitimes serait seulement ont généralement les deux derniers octets de leur changement IP.
Dans consclusion, c'est le apatrides HTTP qui nous condamne à ne jamais être en mesure de bien protéger nos sites web à partir de détournement de session, mais les bonnes pratiques (comme ceux Gumbo a fourni) sera assez efficace pour empêcher une bonne majorité de session attaques. En essayant de protéger les séances de détournement en refusant les demandes multiples de la même SID est donc tout simplement ridicule, et irait à l'encontre de l'objectif de la séance.