2013-09-06 3 views
0

J'ai un site Web de pratique et l'une des pages traite de la gestion des utilisateurs. J'ai toutes les validations de données sur JS et PHP effectuées. Mais, pour la gestion des utilisateurs, j'ai essentiellement 3 actions: Ajouter, Mettre à jour, Supprimer. Lorsque j'ajoute un utilisateur, je vérifie le mot de passe que l'utilisateur aura avec un champ de mot de passe répété. Maintenant, quand je vais enregistrer sur la base de données MySQL, comme pour ne pas avoir le mot de passe en texte brut (pour la pratique), j'utilise SHA1. Pour cette raison, lorsque je recherche un utilisateur et remplira le formulaire, je n'ai que la chaîne SHA1 du mot de passe. Quel travail puis-je utiliser pour mettre à jour le mot de passe d'un utilisateur? Je pense, pas sûr, qu'il serait mieux de simplement le réinitialiser puisque c'est le but du cryptage je crois (pas de décrypter) mais alors je devrais écrire les mots de passe chaque fois que je mets à jour encore et encore à moins que je Il suffit de ne pas le mettre à jour et laisser l'utilisateur le réinitialiser.Page Gérer les utilisateurs

Merci d'avance.

+1

Mise à jour le mot de passe de set de table = SHA1 (newpass) où le mot de passe = SHA1 (oldpass) ??? – Hackerman

+0

Mais la chose est, disons que je ne veux pas mettre à jour le mot de passe. Juste le nom d'utilisateur par exemple. Ce qui revient de l'appel ajax que je fais sur la recherche est le mot de passe SHA1. Donc, si je devais remplir le formulaire, ce serait avec le mot de passe SHA1. Quand je voudrais mettre à jour, sur ma page de pilote, je SHA1 (nom d'utilisateur) sur mon tableau PHP j'envoie aux modèles pour l'insertion, la mise à jour, la suppression. Donc, il serait juste SHA1 le mot de passe SHA1 déjà là? Pensant peut-être que je devrais juste vérifier si ces 2 sont vides, pour ne pas mettre à jour le mot de passe sur la base de données et si elles sont remplies, puis mettre à jour avec SHA1 à nouveau. – Sockdev

+0

Si vous renvoyez votre mot de passe sha1 via un appel ajax, alors quelle est la signification de l'utilisation du cryptage? ... soyez plus précis. – Hackerman

Répondre

0

En règle générale, lorsque vous enregistrez vous chiffrez en utilisant SHA1 ou MD5 mot de passe de l'utilisateur. Lorsque vous enregistrez un formulaire ... si le mot de passe et le mot de passe sont remplis, vous mettez à jour le mot de passe de l'utilisateur. Sinon, vous ignorez simplement le champ de mot de passe et mettez à jour le reste des colonnes.

donc quelque chose comme:

<?php 

if(isset($_POST['password']) && (bool)$_POST['password'] && isset($_POST['password_confirm']) && (bool)$_POST['password_confirm']){ 
    $sql = "UPDATE users SET password='$password', name='$name'... WHERE id='$id'"; 
} else { 
    $sql = "UPDATE users SET name='$name'... WHERE id='$id'"; 
} 

?> 
+0

C'est ce que je pensais. Je vais essayer ça. Je vous remercie. – Sockdev

0

Faire champ de mot de passe sur votre formulaire non requis et sur POST sauter si elle est vide, ou écrire nouveau si elle a été tapé.

Questions connexes