Projet

Général

Profil

Anomalie #28129

Mis à jour par Cyril VAZQUEZ il y a 9 mois

Si le mot de passe a expiré, l'application propose de le changer. 

 Lorsqu'on remplit le formulaire, on a une erreur 404 du serveur car l'utilisateur n'est n'ets pas trouvé (car non connecté ?) 

 De plus :   
   * le calcul de délai utilise la date de dernière connexion alors qu'il devrait utiliser la date du jour 
   * la calcul utilise la date de denrier changement de mot de passe, qui peut ne pas être évaluée (cas des injections d'utilisateurs en SQL ou anciennes données) 

 ~~~php 
  private function verifyValidity($userAccount, $userLogin) 
     { 
         if ($this->securityPolicy['passwordValidity'] && $this->securityPolicy["passwordValidity"] != 0) { 
             $diff = ($userLogin->lastLogin->getTimestamp() - $userAccount->passwordLastChange->getTimestamp()); 
             // (timestamp de dernier login - timestamp de dernier chgt mdp) / durée de la session 
             if ($diff > $this->securityPolicy['passwordValidity']) { 
                 throw \laabs::newException('auth/userPasswordValidityExpiredRequestException'); 
             } 
         } 
     } 

 ~~~

Retour