Bonjour,
J'avais ouvert un post pour comprendre comment empêcher (un peu) le vol de session.
Je pensais avoir compris, mais en fait je nage.
Voilà le but est de générer deux md5(), un lors de l'identification et un pour chaque page.
Avant l'affichage du corps des pages, on compare si tout est identique.
Logiquement, si un pirate à volé la session, il ne pourra rien faire car il aura des numéros différents.
J'ai donc fait cela :
1) lors de l'inscription
2) à l'affichage de chaque page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 //on génère un numéro qui va être celui utilisé durant toute la session, pour empêcher les vols (en plus de celui initialisé sur chaque page). $_SESSION['NumeroSession']=md5 (uniqid (rand())); $_SESSION['NumeroSession2']=$_SESSION['NumeroSession'];
3) la structure de test pour savoir si il n'y a pas eu vol :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $SessionNumeroPage=md5 (uniqid (rand())); $SessionNumeroPage2=$SessionNumeroPage;
Voilà, à la vérité ça me parait nul : si un pirate vole la session, ce que j'ai fait ou rien c'est du pareil au même il me semble. Il récupère le md5() généré lors de l'identification et transmis à l'identique sur toutes les pages. Puis ses propres affichages génèrent un nouveau md5() unique sur chaque page, ce qui ne l'empêche en rien d'afficher les scripts à protéger.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if($_SESSION['NumeroSession2']== $_SESSION['NumeroSession'] AND $SessionNumeroPage2==$SessionNumeroPage); {require('script/centre-definition.php');}
Y'a un truc qui coince là.
(à la base c'est inspiré du principe d'enregistrement de l'ip mais ça pose trop de problème donc on remplace l'ip par un md5()).
Pourriez-vous m'éclairer SVP ?
Partager