J'utilise HTTPS, mais je veux minimiser le risque que quelqu'un maligne ses propres cookies avec un ID de session que quelqu'un d'autre utilise réellement. Comme une variable de session j'ai une date d'expiration donc la session est invalidée si elle n'a pas été utilisée récemment, donc je pense que la fenêtre d'opportunité est quand la victime est active ou a récemment quitté le site sans se déconnecter correctement.piratage de session php - est HTTPS assez? Suggestions pour la prise d'empreintes digitales?
Je ne m'attends pas à d'énormes quantités de trafic et j'utilise les méthodes PHP standard pour générer des ID de session. Je crois que le «risque» que quelqu'un réussisse (ou essaie même) de détourner quelqu'un de sa session ici est proche de zéro. Ce que je voudrais faire, c'est "identifier" l'utilisateur à distance, sans en utilisant $_SERVER['REMOTE_ADDR']
. Mes pensées étant que l'attaquant devrait à la fois trouver un ID de session valide, ainsi que usurper l'identité des différentes propriétés de l'utilisateur réel. Je ne veux pas forcer l'utilisateur à utiliser un certificat pour se connecter. Je veux qu'il fonctionne dans tous les navigateurs web standard, même pour ma grand-mère et d'autres personnes non-tech comme elle. Donc, ce que je voulais initialement demander était: y a-t-il des "propriétés" de la session HTTPS qui pourraient être utilisées? Seraient-ils utiles? Si oui, comment puis-je les trouver? phpinfo()
ne révèle rien de spécifique à HTTPS. (Est-ce parce httpd
ne l'expose pas?)
Dois-je simplement utiliser une concaténation de HTTP_USER_AGENT
+ HTTP_ACCEPT
+ HTTP_ACCEPT_LANGUAGE
+ HTTP_ACCEPT_ENCODING
+ HTTP_ACCEPT_CHARSET
ou quelque chose de similaire qui est supposé être suffisamment unique entre les utilisateurs?
Très heureux pour toutes les réponses! (Mais s'il vous plaît lire la question avant de répondre avec seulement des renvois à d'autres questions sur StackOverflow) Merci!
Assurez-vous de faire toutes vos recherches avant de commencer à vous coder. La sécurité de session est un problème bien connu et si quelqu'un d'autre a une solution bien pensée et testée, je considérerais l'utiliser d'abord. –
@Dana the Sane: et comment savez-vous quand le code du gars de l'autre est meilleur que le vôtre? – symcbean
@Dana the Sane: Je suis d'accord. C'est exactement pourquoi je demande ici. – MattBianco