J'utilise CakePHP3 et les composants authentifiés pour la connexion / la déconnexion. Ma table [utilisateurs] utilisateurs. [Mot de passe] La colonne n'est pas cryptée juste des caractères normaux. Est-ce que c'est une façon de ne pas utiliser ou remplacer le mot de passe Authhacher? p>
3 Réponses :
Créer un fichier nommé user.php code> avec le contenu ci-dessous dans
/ src / modèle / entité code> dossier. Cela crypté automatiquement votre mot de passe tout en épargnant.
Vous pouvez également utiliser le mot de passe de hachage dans le contrôleur comme ci-dessous. Utilisez la bibliothèque de mots de passe dans le contrôleur.
$password = "Your Password"; $hasher = new DefaultPasswordHasher(); $hasher->hash($password);
@Nicohaase Vous pouvez le mettre juste avant d'enregistrer les données. Signifie dans le contrôleur dans lequel vous avez écrit le code pour enregistrer des données.
$user = $this->Users->newEntity(); $hasher = new new DefaultPasswordHasher(); $user = $this->Users->patchEntity($user, $this->request->getData()); $user->password=$hasher->hash($user->password); //follow this if ($this->Users->save($user)) { }
Si vos données ne sont pas hachées, vous êtes déjà pas i> à l'aide de la hachage de mot de passe (qui est généralement une très mauvaise idée)!?
Que signifie "pas crypté"? Qu'est-ce qui est stocké à la place? Qu'avez-vous essayé d'activer ce cryptage?