problème de connexion a la base de donnée

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème de connexion a la base de donnée

Re: problème de connexion a la base de donnée

par Spols » 18 sept. 2017, 08:15

Ah ok, j'avais pas compris.
Fait un var_dump de ta variable $hash, tu verras qu'elle est vide car tu as oublié d'exécuter ta requête ;)
Ce message te donne la réponse attendue

Re: problème de connexion a la base de donnée

par Anubis » 16 sept. 2017, 14:58

Personne n'a quelque chose pour moi?

Re: problème de connexion a la base de donnée

par Anubis » 15 sept. 2017, 15:21

Ton code est fortement sujet au injection sql, si une personne mal intentionnée met une 2eme requète à la place de son numéro de téléphone, il a accés à tout ce qu'il veut
Oui je vais reglé les problèmes de sécurité un peu plutard pour le moment j'aimerai dabor pouvoir virifié le mot de passe que l'utilisateur entre a la connexion et le mot de passe hashé present dans la base de donnée. merci de m'aider svp!

Re: problème de connexion a la base de donnée

par Spols » 15 sept. 2017, 15:16

Ton code est fortement sujet au injection sql, si une personne mal intentionnée met une 2eme requète à la place de son numéro de téléphone, il a accés à tout ce qu'il veut

Re: problème de connexion a la base de donnée

par @rthur » 15 sept. 2017, 14:10

Ah ok, j'avais pas compris.
Fait un var_dump de ta variable $hash, tu verras qu'elle est vide car tu as oublié d'exécuter ta requête ;)

Re: problème de connexion a la base de donnée

par Anubis » 15 sept. 2017, 09:31

merci @rthur et desolé si j'ai été si impatient .

En fait lors de l'inscription, le mot de passe est hashé et stocké correctement et lors de la connexion j'aimerai comparer le mot de passe en claire que l'utilisateur a entré et le mot de passe hashé qui existe deja dans la base de donnée. pour ça je dois recupéré le mot de passe hashé deja present dans la base de donnée et utiliser password_verify dessu pour savoir s'il concorde avec le mot de passe que l'utilisateur vient d'entré et c'est la le gros problème. c'est pour ça que j'ai posté mon code pour que vous m'aidez a comprendre ce qui ne va pas si j'ai mal utilisé password_verify.

Merci!

Re: problème de connexion a la base de donnée

par @rthur » 15 sept. 2017, 09:20

Doucement, on est tous bénévoles et ça nous arrive de dormir aussi entre 23h et 8h du matin, merci de ne pas s'impatienter ;-)

Tu as 2 possibilités pour que l'identification de tes anciens comptes (avec le mdp en clair) continue de fonctionner :
1) Soit tu fais un petit script qui va rechiffrer tous les mdp en clair pour qu'ils soient désormais hashé avec password_hash(), comme ça ta base utilisateur sera uniforme
2) Soit tu ajoute une 2nde vérification, si password_verify() échoue, alors tu vérifies si le mdp en clair est bon

La solution la plus rapide est la 2nde mais la meilleure solution est la 1ère afin d'avoir une seule méthode de connexion et de ne plus avoir de mdp en clair

Re: problème de connexion a la base de donnée

par Anubis » 15 sept. 2017, 08:57

Bonjour
Personne pour m'aider? :(

problème de connexion a la base de donnée

par Anubis » 15 sept. 2017, 00:02

salut tout le monde,

J'ai un petit soucis et j'aimerai obtenir de l'aide svp. voici mon problème:

J'ai codé une application android qui permet aux utilisateurs de se connecté a une base de donnée après enregistrement mais le problème est que depuis que j'ai decidé d'utiliser password_hash pour hasher les mots de passes avant de les stockés il est desormais impossible pour un utilisateur deja enregistré de se connecté avec ses identifiant car je n'arrive pas a verifié le mot de passe en claire que l'utilisateur entre et le mot de passe hashé present dans la base de donnée je sais qu'il faut utiliser password_verify et j'ai beau retourné et retourné mon code j'y arrive pas. aidez moi svp...

voici mes codes:

inscription

Code : Tout sélectionner

<?php if($_SERVER['REQUEST_METHOD']=='POST'){ // echo $_SERVER["DOCUMENT_ROOT"]; //including the database connection file include_once("config.php"); $name = $_POST['name']; $prenom = $_POST['prenom']; $phone = $_POST['phone']; $pass = password_hash( $_POST['pass'], PASSWORD_DEFAULT); $pass_confirm = password_hash( $_POST['pass_confirm'], PASSWORD_DEFAULT ); if($name == '' || $phone == '' || $pass == '' || $prenom == '' || $pass_confirm == ''){ echo json_encode(array( "status" => "false","message" => "Parameter missing!") ); }else{ $query= "SELECT * FROM identifications WHERE phone='$phone'"; $result= mysqli_query($con, $query); if(mysqli_num_rows($result) > 0){ echo json_encode(array( "status" => "false","message" => "Ce numero utilise un autre compte!") ); }else{ $query = "INSERT INTO identifications (name,prenom,phone,pass,pass_confirm) VALUES ('$name','$prenom','$phone','$pass','$pass_confirm')"; if(mysqli_query($con,$query)){ $query= "SELECT * FROM identifications WHERE phone='$phone'"; $result= mysqli_query($con, $query); $emparray = array(); if(mysqli_num_rows($result) > 0){ while ($row = mysqli_fetch_assoc($result)) { $emparray[] = $row; } } echo json_encode(array( "status" => "true","message" => "Successfully registered!" , "data" => $emparray) ); }else{ echo json_encode(array( "status" => "false","message" => "Error occured, please try again!") ); } } mysqli_close($con); } } else{ echo json_encode(array( "status" => "false","message" => "Error occured, please try again!") ); } ?>
connexion

Code : Tout sélectionner

<?php if($_SERVER['REQUEST_METHOD']=='POST'){ // echo $_SERVER["DOCUMENT_ROOT"]; //including the database connection file include_once("config.php"); $phone = $_POST['phone']; $pass = $_POST['pass']; if( $phone == '' || $pass == '' ){ echo json_encode(array( "status" => "false","message" => "Parameter missing!") ); }else{ $query= "SELECT * FROM identifications WHERE phone='$phone'"; $hash = $result['pass']; if(password_verify($_POST['pass'], $hash)){ $result= mysqli_query($con, $query); if(mysqli_num_rows($result) > 0){ $result= mysqli_query($con, $query); $emparray = array(); if(mysqli_num_rows($result) > 0){ while ($row = mysqli_fetch_assoc($result)) { $emparray[] = $row; } } echo json_encode(array( "status" => "true","message" => "Login successfully!", "data" => $emparray) ); }else{ echo json_encode(array("status" =>"true","message" =>"Mot de passe incorrect")); } }else{ echo json_encode(array( "status" => "false","message" => "Invalid username or password!") ); } mysqli_close($con); } } else{ echo json_encode(array( "status" => "false","message" => "Error occured, please try again!") ); } ?>
merci de me lire!