Vol de sessions PHP

Fermé
nico_73 Messages postés 161 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 28 mai 2010 - Modifié par nico_73 le 26/03/2010 à 08:05
nico_73 Messages postés 161 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 28 mai 2010 - 27 mars 2010 à 07:25
Bonjour,

J'utilise Zend framework dans cet exemple, mais je ne pense pas que ca va être un problème de compréhension pour ma question.

Voila un peu de code pour illustrer avec des commentaires pour ceux qui ne connaissent pas Zend :
  // Permet le récupération de l'id de session dans le cookie  
  $sessCookieId = $this->_request->getCookie('PHPSESSID');  
  // Permet de récupérer l'id de sessions de la session  
  $sessServeurId = Zend_Session::getId();  

  // Si les deux sont identiques  
  if($sessCookieId == $sessServeurId) {  
   // On regénère un nouvel Id de sessions que l'on envoie en même temps dans le cookie  
   Zend_Session::regenerateId();  
  } else {  
   // Si non on efface le session actuel et le cookie  
   $this->_auth->clearIdentity();  
  }  


Donc a chaque nouvelle page, je régénère un nouvel id de session si la comparaison est identique. Ainsi si une autre personne vient et que l'id n'est pas le même, grosso modo on stop tout.

Pensez-vous que cette logique soit bonne ?


Merci d'avance.
Bien cordialement.

2 réponses

Archeus01 Messages postés 1571 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022 449
26 mars 2010 à 17:00
Bonjour,
Pourquoi regénerer l'id? Pourquoi ne pas conserver le même ? Surtout qu'a chaque fois que tu régénères, tu vas modifier ton cookie...
0
nico_73 Messages postés 161 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 28 mai 2010
Modifié par nico_73 le 27/03/2010 à 07:27
Oui effectivement je régénère l'id puisque je m'en sers un peu comme d'un jeton de session et ça permet de changer à chaque page la clé de comparaison. Ce qui je pense, réduit le possibilité de vol de session, puisque que l'utilisateur change de page régulièrement.

Mais actuellement on peut voir une faille, car l'id qui est envoyé en cookie n'est crypté avec la fonction crypt() de PHP (par exemple).
0