crpytage md5 - formulaire method POST - PHP - Programmation
Marsh Posté le 09-07-2004 à 09:14:51
oui. il faut le crypter en Javascript pour ne pas que le mot de passe se balade sur le réseau
md5 n'est pas une fonction de cryptage, mais de hachage
Marsh Posté le 09-07-2004 à 09:15:28
http://pajhome.org.uk/crypt/md5/
Marsh Posté le 09-07-2004 à 09:30:58
woua excellent j avais pas trouver l algo de md5 en javascript j etais en train de me casser la tete pour finter entre javascript et PHP ... ce qui est impossible a mon avis. merci bcp !
Marsh Posté le 12-07-2004 à 13:19:19
quand tu postes ton formulaire, fais attention à ne pas poster non plu le formulaire contenant les champs non cryptés...
Marsh Posté le 15-07-2004 à 15:40:38
ouais... mais vous oubliez une chose...
n'importe qui peut désactiver son javascript...
donc, je ne pense pas réellement que c'est une superbe idée sécuritaire
salutations
Marsh Posté le 16-07-2004 à 01:09:08
Dabourn a écrit : md5($pass); |
lis le topic stp... avec ta méthode, le mot de passe est en clair en le client et le serveur...
Marsh Posté le 16-07-2004 à 01:21:15
A mon sens, sans javascript, à part passer par https, il n'y a pas beaucoup d'autres solutions ...
Marsh Posté le 16-07-2004 à 11:49:08
Salut à tous,
je suis LE débutant en php, qui tente de s'y mettre par simple curiosité....!
Soft utilisé: easy php
Besoin: ne pas mettre en clair mes passwords dans ma BDD
J'ai crée une première page de mon espace membre, qui demande un login, et un mot de passe (données qui sont stockées dans une BDD MYSQL).
J'ai utilisé la méthode MD5 lorsque j'ai saisi mon mot de passe dans ma base de données.
Mais je ne parviens pas à m'authentifer sur ma page d'espace membre (toujours en tentant d'utiliser la fonction $Pass=md5($Pass).....
A noter que dans la BDD, lorsque mon mot de passe est enregistré en clair, l'authentification fonctionne...
Je ne parviens pas à repérer mon erreur, est-ce un problème de syntaxe, faut-il utiliser une autre méthode...?
J'espère avoir été clair, si vous avez besoin du code, n'hésitez pas et merci d'avance !!!
Marsh Posté le 16-07-2004 à 11:51:00
$Pass=md5($Pass)..... ça c'est pas possible...
tu dois comparer les deux MD5 (l'une provenant de ton formulaire, l'autre de la BDD)
Marsh Posté le 16-07-2004 à 13:01:02
En fait pas de messages d'erreur, mais le mot de passe que j'entre ne semble pas le bon puisqu'il me renvoit vers mon $url "mauvais mot de passe"
Voici le début de mon code (on se moque pas !!!)
<?
include ("variables.php" );
// connexion au serveur mysql
$connexion = mysql_connect($host,$user,$password)
or die("Impossible de se connecter au serveur" );
// choix de la base
@mysql_select_db("$base" )
or die("Impossible de se connecter à la base" );
if (empty($_POST['Nom']) OR empty($_POST['Pass'])
{
echo 'Vous avez oublié de remplir un champs !';
include('accueil.htm'); // On inclu le formulaire d'identification
exit;
}
else
{
$Nom=$_POST['Nom'];
$Pass=md5($_POST['Pass']);
$query=("SELECT * FROM authentification WHERE Nom='$Nom' AND Pass='$Pass'" );
$result=mysql_query($query) or die('error making query');
$affected_rows = mysql_num_rows($result);
//Si il y a un enregistrement, la connexion est valide sinon invalide.
}
if($affected_rows == 1)
{
print 'validé';
$_SESSION['Nom'] = $Nom;
}
else {
print 'invalide';
}
?>
---------
"tu dois comparer les deux MD5 (l'une provenant de ton formulaire, l'autre de la BDD) " => oui mais comment faire ?
Marsh Posté le 16-07-2004 à 13:24:32
A première vue ça ma parait correct. tu es certain que le mot de passe est stocké en MD5 dans la bd ?
Marsh Posté le 16-07-2004 à 13:25:10
je veux dire, à l'insertion du login/mot de passe, il faut hacher le mot de passe en md5
Marsh Posté le 16-07-2004 à 13:36:58
remarque : il me semble que l'algo md5() de php n'est pas identique à celui de la librairie javascript...
Marsh Posté le 16-07-2004 à 13:37:43
c'est nouveau ça. a tester
Mais ça m'étonne...
Marsh Posté le 16-07-2004 à 13:39:40
test: 098f6bcd4621d373cade4e832627b4f6
test: 098f6bcd4621d373cade4e832627b4f6
et non. raté
JS : http://pajhome.org.uk/crypt/md5/
PHP: http://www.kevinroth.com/projects/examples/md5.php
T'as été cherché ou cette info ?
Marsh Posté le 16-07-2004 à 13:46:24
tu veux dire que sur ma page d'authentification, je dois entrer le mot de passe sur ma page d'authentification sous la forme hexdécimale ?
Marsh Posté le 16-07-2004 à 13:47:34
edit ton poste on comprend rien
Marsh Posté le 16-07-2004 à 13:51:07
Mr Mala a écrit : A mon sens, sans javascript, à part passer par https, il n'y a pas beaucoup d'autres solutions ... |
+1
Marsh Posté le 16-07-2004 à 14:03:55
Alors, je reprend
Dans ma BDD, voici ce qui apparait après avoir entré mon utilisateur
Nom: fred
Pass: 01df32998cb4908
Sur ma page d'authentification, je dois bien rentrer mon mot de passe en clair (ex: frederic), pas en version hasché n'est ce pas ?
Marsh Posté le 16-07-2004 à 14:06:29
ça c'est pas du md5 : 01df32998cb4908
(trop court)
Marsh Posté le 16-07-2004 à 14:09:14
JagStang a écrit : ça c'est pas du md5 : 01df32998cb4908 |
Bah pourtant, dans mysql, j'ai selectionné MD5 devant ma valeur password et j'ai entré en toutes lettre frederic....Et ca a donné ce que tu vois......"01df32998cb4908 " !
Marsh Posté le 16-07-2004 à 14:26:35
impossible. le md5 est sur 32 positions. là t'en as que 15
le champ est en varchar(15) ou quoi ?
Marsh Posté le 16-07-2004 à 14:45:32
ben oui. le champ est limité à 15 caractères. donc le hash md5 est tronqué... c'est clair que
098f6bcd4621d373cade4e832627b4f6 != 098f6bcd4621d37
Marsh Posté le 16-07-2004 à 14:45:54
passe ce champ à 32
Marsh Posté le 16-07-2004 à 14:46:07
fredlechat a écrit : Yes, Pass varchar(15) |
ui passes le champs en 32 char
et ensuite .. tu encode en md5 le mot de passe entré par l'utilisateur et le compares avec celui stocké ds ta table
catchai ?
Marsh Posté le 16-07-2004 à 15:01:35
T mortel !
Le problème venait de la, effectivement !
Merci pour ton aide, on se reverra je pense, vu mon niveau !
A++
Marsh Posté le 17-07-2004 à 14:52:05
JagStang a écrit : test: 098f6bcd4621d373cade4e832627b4f6 |
A la reflexion, ça venait sans doute de la casse des chaînes...
Marsh Posté le 09-07-2004 à 08:57:46
salut,
j aurais aimez savoir si il est possible de crypter un mot de passe rentré dans un formulaire directement (algo md5)
parceque pour l instant ce que je fais c est d envoyer le mot de passe non crypté dans la page suivant et une fois recupéré via le tableau $_POST dans la page suivante je le crypte et le compare au champs mot de passe de ma base de donnée ... y a pas moyen de l envoyer deja crypter pour plus de securité?