Le 01 février 2008 - 09 h 38, coin_coin_38 a écrit :
J'aimerai savoir aussi une fois tu as demandé pour crypter le MDP avant l'envoie vers el serveur en javascript, est-ce facil à mettre en place?
merci
|
hello,
desole j'etais pas revenu sur le topic de la journee
pour ton probleme de javascript, c'est super simple. moi perso j'ai utilise l'algo sha-256, tu trouves le js sur le net, attends, je regarde si je te retrouve le lien...
a y est, c'est la :
http://anmar.eu.org/projects/jssha2/
donc tu down la lib (le .js), tu colles ca sur ton serveur.
ensuite, moi j'utilise ca pour de l'identification d'utilisateur, donc en gros j'ai un form avec 2 champs, 1 champs pour le nom d'utilisateur de type texte et un champ de type password pour le mot de passe.
le gars rentre son nom d'utilisateur et son mot de passe.
pour gerer le sha, dans la balise form j'ajoute un evenement onSubmit, un peu comme ca :
1. <form method="post" onSubmit="cryptPass()">
en clair, quand le type clic sur le bouton pour s'authentifier, ca lance cette fonction.
pour stocker le mot de passe crypte, il te faut un champs hidden, comme ca, que tu colles dans ton form entre <form> et </form> :
1. <input type="text" id="mon_pass_crypte" value="" />
et dans ma fonction cryptPass(), j'ai un truc du genre :
1.
2. // crypt du pass
3. document.getElementById('mon_pass_crypte').value=sha256('nom-du-champ-password-en-clair');
4.
5. // vidage du champ en clair
6. document.getElementById('pass_entre_par_le_user').value='';
7.
voila c'est tout ! bete comme chou
en fait, le truc c'est juste de pas faire transiter la variable en clair sinon ca sert a rien, donc d'abord on crypte le password en clair, ensuite on met la valeur cryptee dans notre champ hidden du fomulaire, puis derniere etape, on vide la valeur en clair.
du coup, si tu regardes tout ce qui passe via $_POST, le mot de passe en clair reste vide, c'est normal, le nom d'utilisateur est en clair, normal aussi a la rigueur, mais si on etait vraiment totalement parano, on pourrait le crypter de la meme facon

et on se retrouve avec le champ hidden contenant le hash crypte.
ensuite, sur la page qui verifie le login, il suffit de comparer la valeur du champ hidden avec celle que tu as dans ta base de donnees.
bien entendu, il faut que le pass dans ta base de donnees soit encode en sha-256, donc si t'avais ton champ password dans la base qui faisait genre je saispas, 10 caracteres, il te suffit de l'augmenter à 64 caracteres.
je sais pas en quoi tu codes cote serveur mais si c'est en php, les hash sont directement implementes, donc moi pour convertir mes anciens mot de passe qui etaient en clair, je me suis fait une moulinette qui a tout converti a la volee en 3 lignes
voila c tout
autre precision, comme on utilises getElementById, n'oublie pas de mettre un "id=xxxx" dans tes inputs