security: Supprimer le mot de passe de la réponse POST /api/users
PROBLÈME DE SÉCURITÉ :
Le mot de passe était retourné dans la réponse JSON lors de la création
d'un utilisateur (quand généré automatiquement).
RISQUES :
- Exposition dans les logs de proxies/load balancers
- Visible dans DevTools navigateur
- Peut être loggé côté client en cas d'erreur
- Reste en mémoire/historique des requêtes
SOLUTION :
- Suppression complète du champ 'password' de la réponse
- Le mot de passe est DÉJÀ envoyé par email (ligne 525)
- L'admin reçoit seulement : id + username
RÉPONSE AVANT :
{
"status": "success",
"message": "Utilisateur créé avec succès",
"id": "10023668",
"username": "pr.350-renn731",
"password": "MPar<2a8^2&VnLE" // ❌ FAILLE
}
RÉPONSE APRÈS :
{
"status": "success",
"message": "Utilisateur créé avec succès",
"id": "10023668",
"username": "pr.350-renn731" // ✅ SÉCURISÉ
}
Travail sur tâche #15 (Nouveau membre non synchronisé)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -539,20 +539,14 @@ class UserController {
|
||||
$username
|
||||
);
|
||||
|
||||
// Préparer la réponse avec les informations de connexion si générées automatiquement
|
||||
// Préparer la réponse (sans le mot de passe pour des raisons de sécurité)
|
||||
// Le mot de passe est envoyé par email au nouveau membre
|
||||
$responseData = [
|
||||
'status' => 'success',
|
||||
'message' => 'Utilisateur créé avec succès',
|
||||
'id' => $userId
|
||||
'id' => $userId,
|
||||
'username' => $username
|
||||
];
|
||||
|
||||
// Ajouter le username dans la réponse (toujours, car nécessaire pour la connexion)
|
||||
$responseData['username'] = $username;
|
||||
|
||||
// Ajouter le mot de passe seulement si généré automatiquement
|
||||
if ($chkMdpManuel === 0) {
|
||||
$responseData['password'] = $password;
|
||||
}
|
||||
|
||||
Response::json($responseData, 201);
|
||||
} catch (PDOException $e) {
|
||||
|
||||
Reference in New Issue
Block a user