web-dev-qa-db-fra.com

Obtenir le mot de passe lorsque l'utilisateur s'enregistre et l'enregistrer sha1 dans la base de données

je travaille sur un site Web où les utilisateurs peuvent se connecter avec iphone à certaines de ses fonctions en utilisant un mot de passe crypté sha1. En d'autres termes, le mot de passe simple de wordpress crypté dans sha1.

Dans le passé, j’avais eu la bêtise d’éditer les fichiers de base de wordpress pour obtenir le mot de passe lorsque l’utilisateur s’enregistrait et le sauvegardait dans sha1 sur la table wp_users.

Bien sûr, mon client a mis à jour wordpress et toutes les fonctions ont été perdues. Ouais, je suis stupide, je ne suis pas sûr de ce que je pensais ce jour-là.

Il existe un moyen de se connecter à la fonction register pour obtenir le mot de passe, le chiffrer au format sha1 et le stocker dans la base de données à partir du fichier functions.php de mon thème?

Des idées?

2
chifliiiii

Jetez un oeil à Fonctions enfichables dans /wp-includes/pluggable.php. Vous pouvez remplacer en toute sécurité les fonctions de génération/vérification de mot de passe par les vôtres.

2
Milo

Vous pouvez vous connecter à wp_check_password() , ce qui le fait à la fin:

return apply_filters('check_password', $check, $password, $hash, $user_id);

Si $check est true, alors $password est la passe valide actuelle pour $user_id.

Notez que cela ne fonctionnera que la prochaine fois que des utilisateurs seront connectés. Vous ne pouvez pas simplement récupérer des mots de passe textuels pour tous les comptes.

1
Rarst