Bonjour à tous,
Je me tourne vers vous car depuis quelque temps je tourne en rond et ne trouve pas de solution a mon problème. Je suis débutant en php/MySQL.
Je suis en train de créer un site perso et j'aimerais que mon nom d'utilisateur et mot de passe lié à celui-ci soit secure. Je m'explique j'ai cherché a ce que la saisie soit sensible a la casse mais je n'ai pas réussi a atteindre ce but et aussi a sécurisé l'acces aux autres pages en tant que membre.
Je voudrai pouvoir sniffer l'adresse ip du client pour s'assurer que ce soit bien la bonne personne mais aussi crypter le mot de passe.
Je ne sais pas si le md5 suffit ou si il faut une autre méthode de cryptage.
Ma page de vérification en php ressemble a ceci: (J'ai mis du code en commentaire je le laisse en suspend je ne sais pas lequel des deux est le mieu)
Et ma page index.php est une simple page de saisi de nom utilisateur et mdp avec un bouton de validation qui transmet mon formulaire a la page vérification.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91 <?php session_start(); function verification($nom,$pass) { $host='localhost'; $user='root'; $password=''; $bdd='xxx'; //$loginOK=false; //On se connecte a la bdd $link=mysql_connect($host,$user,$password) or die('Error de connexion'.mysql_error()); //On choisit la bonne base de donnée mysql_select_db($bdd) or die('Erreur de sélection'.mysql_error()); $nom_sql=mysql_real_escape_string($nom); $pass_sql=mysql_real_escape_string($pass); $sql="SELECT * FROM user WHERE login='$nom_sql' AND pass='$pass_sql'"; $result=mysql_query($sql,$link); if(mysql_num_rows($result)>0) { return TRUE; }else{ return FALSE; } mysql_close(); } if(isset($_POST['nom'])&& isset($_POST['motdepasse'])) { //on les recupere $nom=$_POST['nom']; $motdepasse=$_POST['motdepasse']; //on test si le mdp est valide if(verification($nom,$motdepasse)){ session_regenerate_id(); //On sauvegarde son nom dans la session $_SESSION['nom']=$nom; $message='Bienvenue '.$nom; }else{ $message='Mot de passe incorrect'; $message.='<a href="index.php">Retour</a>'; } }else{ $message='Le login ou le mot de passe est vide'; $message.='<a href="index.php">Retour</a>'; } /**if(isset($_POST) && (!empty($_POST['nom'])) && (!empty($_POST['motdepasse']))) { extract($_POST); //Onva chercher le mot de passe afférent à ce login $sql="SELECT * FROM user WHERE login='".$_POST['nom']."' AND pass='".$_POST['motdepasse']."'"; $req=mysql_query($sql) or die('Erreur SQL : <br />'.$sql.'<br />'.mysql_error()); //On verifie que l'utilisateur existe bien if(mysql_num_rows($req)>0) { $data=mysql_fetch_assoc($req); //On verifie que son mot de passe est correct if($password==$data['motdepasse']) { $loginOK=true; } } } //Si le login a ete valide on met les donnees en sessions if($loginOK) { } else{ header('location:index.php'); }**/ //On ferme la connexion avec la base de donnée //mysql_close(); ?> <html> <head><title>Identification</title></head> <body><p> <?php echo $message ?> </p></body> </html>
J'espère que vous pourrez m'aider.Et si jamais il manque des informations ou si vous avez des questions n'hésitez pas a me demander.
Merci d'avance.
Partager