Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Sécurité du changement de mot de passe utilisateur
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Développement

Sécurité du changement de mot de passe utilisateur

L'Équipe Alphorm Par L'Équipe Alphorm 9 janvier 2025
Partager
Partager

Le changement de mot de passe utilisateur est une fonctionnalité essentielle mais souvent vulnérable.

Sans une validation adéquate et une mise à jour sécurisée, les mots de passe peuvent être compromis, exposant les données des utilisateurs.

Cet article vous montre comment créer un processus de changement de mot de passe sécurisé en utilisant des méthodes robustes de validation et de mise à jour.

Table de matière
Changement sécurisé : UserControllerSécuriser routes : changement mot de passeFormulaire sécurisé : vue de mot de passeFAQConclusion

Formation Laravel : Le Guide Complet du Débutant

Initiez-vous à Laravel et réalisez votre première application en toute confiance.

Découvrir cette formation

Dans cette section, vous allez apprendre à permettre aux utilisateurs de modifier leur mot de passe en toute sécurité. Vous verrez comment afficher un formulaire pour cette action, valider les données saisies et mettre à jour le mot de passe dans la base de données avec les bonnes pratiques.

Changement sécurisé : UserController

Pour implémenter cette fonctionnalité, vous devez d’abord ajouter deux méthodes dans votre contrôleur :

  • Une méthode pour afficher le formulaire permettant à l’utilisateur de saisir les informations nécessaires au changement de mot de passe.
  • Une méthode pour valider les informations, sécuriser la modification et sauvegarder le nouveau mot de passe

Vous devez commencer par créer une méthode qui affichera un formulaire à l’utilisateur. Voici comment cette méthode fonctionne

				
					
 public function password() //formulaire d'update de password
{
$data = [
'title' => $description = 'Modifier mon mot de passe',
'description'=>$description,
'user'=>auth()->user(),
];
return view('user.password', $data);
}

				
			

Dans cette méthode :

  • Vous récupérez l’utilisateur actuellement connecté grâce à auth()->user() et passez ces données à une vue.
  • Le formulaire affichera alors un champ pour le mot de passe actuel, un champ pour le nouveau mot de passe et un champ de confirmation.
  • Vous pouvez également inclure un titre et une description pour améliorer l’interface utilisateur.

Ensuite, vous devez créer une méthode qui se chargera de valider les informations fournies par l’utilisateur, puis de mettre à jour son mot de passe si tout est correct.

Voici la méthode expliquée :

				
					
 public function updatePassword() //mise à jour du mot de passe
{
request()->validate([
'current'=>'required|password',
'password'=>'required|between:9,20|confirmed',
]);
$user = auth()->user();
$user->password = bcrypt(request('password'));
$user->save();
$success = 'Mot de passe mis à jour.';
return back()->withSuccess($success);
}

				
			

Dans cette méthode :

Validation des données :

  • Le champ current s’assure que l’utilisateur a correctement entré son mot de passe actuel.
  • Le champ password impose une longueur minimale et une confirmation pour éviter les erreurs.

Mise à jour sécurisée :

  • Avant d’enregistrer, le nouveau mot de passe est hashé à l’aide de la fonction bcrypt pour garantir la sécurité.

Retour à l’utilisateur :

  • En cas de succès, l’utilisateur est redirigé avec un message confirmant la modification.
Infos : Pensez à utiliser le middleware auth pour restreindre l’accès à ces actions uniquement aux utilisateurs connectés

Sécuriser routes : changement mot de passe

Pour que vos méthodes soient accessibles, vous devez définir les routes correspondantes dans votre fichier web.php. Voici les définitions nécessaires :

				
					
 Route::get('user/password', [UserController::class, 'password'])->name('user.password');
Route::post('password', [UserController::class, 'updatePassword'])->name('update.password');

				
			
  • La première route sert à afficher le formulaire.
  • La seconde permet de traiter la mise à jour après soumission.

Formulaire sécurisé : vue de mot de passe

La vue est essentielle pour fournir une interface à l’utilisateur. Voici un exemple de fichier Blade nommé password.blade.php :

				
					
 @extends('layouts.main')
@section('content')
<div class="row">
<div class="col-lg-3">
@include('includes.sidebar')
</div>
<!-- /.col-lg-3 -->
<div class="col-lg-9">
@if(session('success'))
<div class="alert alert-success">{{ session('success') }}</div>
@endif
<!-- /.card -->
<div class="card card-outline-secondary my-4">
<div class="card-header">
Modifier mon mot de passe
</div>
<div class="card-body">

<form action="{{ route('update.password') }}" method="post">
@csrf
<div class="form-group">
<label for="current">Mot de passe actuel</label>
<input type="password" name="current" class="form-control">
@error('current')
<div class="error">{{ $message }}</div>
@enderror
</div>
<div class="form-group">
<label for="password">Nouveau mot de passe</label>
<input type="password" name="password" class="form-control">
@error('password')
<div class="error">{{ $message }}</div>
@enderror
</div>
<div class="form-group">
<label for="password_confirmation">Confirmez le mot de passe</label>
<input type="password" name="password_confirmation" class="form-control">
</div>
<button type="submit" class="btn btn-primary">Modifier</button>
</form>
<p class="mt-5"><a href="{{ route(&#039;user.edit&#039;) }}" data-wpel-link="internal" target="_self" rel="follow noopener noreferrer">Revenir à mon compte</a></p>
</div>
</div>
<!-- /.card -->
</div>
<!-- /.col-lg-9 -->
</div>
@stop

				
			

Dans cette vue :

  • Vous incluez un formulaire avec des champs pour le mot de passe actuel, le nouveau mot de passe, et la confirmation.
  • Les erreurs de validation sont affichées sous chaque champ concerné.

Pour tester la mise à jour du mot de passe utilisateur, commencez par vérifier le formulaire accessible à l’URL /user/password.

Voici la page

Formulaire changement mot de passe sécurisé

Assurez-vous que tous les champs nécessaires (mot de passe actuel, nouveau mot de passe, confirmation) s’affichent correctement et que les validations fonctionnent. Essayez de soumettre des données incorrectes, telles qu’un mot de passe actuel erroné, un nouveau mot de passe trop court ou une confirmation qui ne correspond pas. Les messages d’erreur doivent être clairs et précis sous chaque champ concerné.

Dans ce cas il s’affichage message erreur cas les champs vide

Formulaire pour changer mot de passe avec validations

Pour le cas le mot passe es incorrecte voici affichage

Page de changement de mot de passe sur un blog

Ensuite, testez le processus de validation et de mise à jour. Fournissez un mot de passe actuel valide, un nouveau mot de passe conforme aux règles, et confirmez correctement ce dernier. Après soumission, vous devez recevoir un message de succès indiquant que le mot de passe a été mis à jour. Essayez de vous déconnecter et de vous reconnecter avec le nouveau mot de passe pour confirmer que la modification a bien été prise en compte.

Formulaire pour changer le mot de passe utilisateur

Ces tests couvrent les principales validations, la fonctionnalité et les mesures de sécurité associées à la mise à jour du mot de passe.

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

FAQ

Comment afficher un formulaire sécurisé pour le changement de mot de passe?
Pour afficher un formulaire sécurisé pour le changement de mot de passe, créez une méthode dans le contrôleur UserController qui récupère l’utilisateur connecté et retourne une vue avec un formulaire. Ce formulaire doit inclure des champs pour le mot de passe actuel, le nouveau mot de passe et la confirmation. Assurez-vous que le middleware auth est utilisé pour restreindre l’accès aux utilisateurs connectés et incluez des titres et des descriptions pour améliorer l’interface utilisateur.
Comment valider les données lors du changement de mot de passe?
Lors du changement de mot de passe, les données doivent être validées en s’assurant que le mot de passe actuel est correct et en imposant une longueur minimale et une confirmation pour le nouveau mot de passe. Utilisez la méthode updatePassword dans le contrôleur pour appliquer ces validations. La fonction bcrypt doit être utilisée pour hasher le nouveau mot de passe avant de le sauvegarder, garantissant ainsi la sécurité des informations utilisateurs.
Comment mettre à jour le mot de passe en toute sécurité?
Pour mettre à jour le mot de passe en toute sécurité, utilisez la méthode updatePassword qui valide les données et utilise bcrypt pour hasher le nouveau mot de passe avant de l’enregistrer dans la base de données. Après une validation réussie, sauvegardez le mot de passe hashé et retournez un message de succès à l’utilisateur. Cela garantit que même si les données sont interceptées, le mot de passe reste protégé.
Quelles routes configurer pour le changement de mot de passe?
Pour configurer les routes du changement de mot de passe, ajoutez-les dans le fichier web.php : une route GET pour afficher le formulaire via la méthode password et une route POST pour traiter la mise à jour via updatePassword. Assurez-vous que ces routes sont protégées par le middleware auth pour garantir que seules les utilisateurs connectés peuvent accéder à ces fonctionnalités.
Comment tester la fonctionnalité de changement de mot de passe?
Pour tester la fonctionnalité, accédez au formulaire de changement de mot de passe via l’URL /user/password. Vérifiez l’affichage correct des champs requis et soumettez des données incorrectes pour tester les validations. Assurez-vous que les erreurs sont claires et précises. Ensuite, testez la mise à jour avec des données correctes et vérifiez que le message de succès s’affiche. Enfin, déconnectez-vous et reconnectez-vous avec le nouveau mot de passe pour confirmer la mise à jour.

Conclusion

En assurant un changement de mot de passe sécurisé, vous protégez les données sensibles de vos utilisateurs. Comment pouvez-vous encore renforcer la sécurité dans ce processus?

ÉTIQUETÉ : Laravel
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Sécurité du changement de mot de passe utilisateur

© Alphorm - Tous droits réservés