[Résolu] Mot de passe et Mysql

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


Ron56
WRInaute passionné
WRInaute passionné
 
Messages: 706
Inscription: Dim Nov 20, 2005 20:05

[Résolu] Mot de passe et Mysql

Message le Jeu Mar 23, 2006 15:11

Je suis en train de creer un espace membre ,mais je rame avec les mots de passes !

J'ai un formulaire d'inscription qui entre les donnée dans la base ,mais le mot de passe est crypté dans la base de donée , du coup quand je fait une verification comme cela :

Code: Tout sélectionner
    if ($mot_de_passe == $data['mot_de_passe']) {
      $loginOK == true;


$mot_de_passe ce qui a été saisi dans le formulaire d'identification
$data['mot_de_passe'] le pass contenu dans la base

Le problème est que $data['mot_de_passe'] est crypté et $mot_de_passe en clair , du coup on ne peut pas s'identifier ! :cry:


Merci

Ronan
Dernière édition par Ron56 le Jeu Mar 23, 2006 18:10, édité 1 fois.

birkoss
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 134
Inscription: Lun Aoû 01, 2005 18:00

Message le Jeu Mar 23, 2006 15:20

Salut

Crypter comment ??

si md5 : if ( md5($mot_de_passe) == $data['mot_de_passe']) {

++

birkoss


Ron56
WRInaute passionné
WRInaute passionné
 
Messages: 706
Inscription: Dim Nov 20, 2005 20:05

Message le Jeu Mar 23, 2006 15:44

Je ne sait pas comment il est crypté ! comment le savoir ? c'est fait de manière automatique :roll:

birkoss
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 134
Inscription: Lun Aoû 01, 2005 18:00

Message le Jeu Mar 23, 2006 16:11

Faut regarder dans ton formulaire qui ajoute les membres dans la base de données...car il existe plusieurs types de 'cryptage' de données.

C'est p-e aussi un cryptage 'maison' fait par une fonction de ton code...


Bourriquet
WRInaute passionné
WRInaute passionné
 
Messages: 635
Inscription: Lun Sep 19, 2005 22:10

Message le Jeu Mar 23, 2006 16:12

Si y a 32 caractère, c'est certainement un md5.

Sinon, si y en a 40 c'est certainement un sha1.

Te suffit de compter le nombre de caractère ;)


Ron56
WRInaute passionné
WRInaute passionné
 
Messages: 706
Inscription: Dim Nov 20, 2005 20:05

Message le Jeu Mar 23, 2006 16:14

Je rentre les données ainsi :

$rq = "INSERT INTO utilisateurs (nom_utilisateur, prenom, nom, email,
mot_de_passe, date_enreg) VALUES ('$u', '$p', '$n', '$e',
PASSWORD('$mp'), NOW())";

spidetra
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Lun Juil 07, 2003 13:06

Message le Jeu Mar 23, 2006 16:17

Ron56 a écrit:Je rentre les données ainsi :

$rq = "INSERT INTO utilisateurs (nom_utilisateur, prenom, nom, email,
mot_de_passe, date_enreg) VALUES ('$u', '$p', '$n', '$e',
PASSWORD('$mp'), NOW())";


Note : La fonction PASSWORD() est utilisée durant l'identification au serveur MYSQL. Il est recommandé de ne pas l'utiliser pour vos applications. Utilisez plutôt MD5() ou SHA1(). Voyez aussi RFC-2195 pour plus d'informations sur comment gérer les mots de passe et l'identification de votre système.


et avec un lien vers la source :
http://dev.mysql.com/doc/refman/5.0/fr/ ... tions.html


Ron56
WRInaute passionné
WRInaute passionné
 
Messages: 706
Inscription: Dim Nov 20, 2005 20:05

Message le Jeu Mar 23, 2006 16:17

16 caractères ! :wink:


Bourriquet
WRInaute passionné
WRInaute passionné
 
Messages: 635
Inscription: Lun Sep 19, 2005 22:10

Message le Jeu Mar 23, 2006 16:17

Ah bah c'est le chiffrement mysql.

T'as qu'a faire une requête PHP :

Code: Tout sélectionner
SELECT PASSWORD(motdepassedonttuveuxlecryptage)


Ron56
WRInaute passionné
WRInaute passionné
 
Messages: 706
Inscription: Dim Nov 20, 2005 20:05

Message le Jeu Mar 23, 2006 16:23

Pas compris comment l'utiliser , voila mon code :

Code: Tout sélectionner
// On va chercher le mot de passe afférent à ce login
  $sql = "SELECT id_utilisateur, nom_utilisateur, prenom, nom, email, date_enreg, mot_de_passe FROM utilisateurs WHERE nom_utilisateur = '".addslashes($nom_utilisateur)."'";
  $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);

  // On vérifie que l'utilisateur existe bien
  if (mysql_num_rows($req) > 0) {
     $data = mysql_fetch_assoc($req);

       
    // On vérifie que son mot de passe est correct
    if ($mot_de_passe == $data['mot_de_passe']) {
      $loginOK == true;
      echo 'mot de passe correct!';


Bourriquet
WRInaute passionné
WRInaute passionné
 
Messages: 635
Inscription: Lun Sep 19, 2005 22:10

Message le Jeu Mar 23, 2006 16:26

Code: Tout sélectionner
// On va chercher le mot de passe afférent à ce login
  $sql = "SELECT PASSWORD('".$mot_de_passe."') AS pass, id_utilisateur, nom_utilisateur, prenom, nom, email, date_enreg, mot_de_passe FROM utilisateurs WHERE nom_utilisateur = '".addslashes($nom_utilisateur)."'";
  $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);

  // On vérifie que l'utilisateur existe bien
  if (mysql_num_rows($req) > 0) {
     $data = mysql_fetch_assoc($req);

       
    // On vérifie que son mot de passe est correct
    if ($data['pass'] == $data['mot_de_passe']) {
      $loginOK == true;
      echo 'mot de passe correct!';


Par exemple ;)

spidetra
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Lun Juil 07, 2003 13:06

Message le Jeu Mar 23, 2006 16:29

Ron56 a écrit: // On vérifie que son mot de passe est correct
if ($mot_de_passe == $data['mot_de_passe']) {
$loginOK == true;
echo 'mot de passe correct!';
[/code]


1. Dans ton INSERT tu remplace PASSWORD par SHA1()
2. Tu remplace ton code php par
Code: Tout sélectionner
    // On vérifie que son mot de passe est correct
    if (sha1($mot_de_passe) == $data['mot_de_passe']) {
      $loginOK == true;
      echo 'mot de passe correct!';



Ron56
WRInaute passionné
WRInaute passionné
 
Messages: 706
Inscription: Dim Nov 20, 2005 20:05

Message le Jeu Mar 23, 2006 16:33

Ca marche pas , ca fait depuis 15h que j'essaye :oops:

Si je met les pass en clair c'est riqué ?


Ron56
WRInaute passionné
WRInaute passionné
 
Messages: 706
Inscription: Dim Nov 20, 2005 20:05

Message le Jeu Mar 23, 2006 16:36

Si y en a qui s'ennui :lol: :

Mon code :

Code: Tout sélectionner
<?php
// On démarre la session
session_start();
$loginOK = false;  // cf Astuce

//On se connecte via le fichier externe

include('../fonctions/sql_connect.php');

// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['nom_utilisateur'])) && (!empty($_POST['mot_de_passe'])) ) {

  extract($_POST);  // je vous renvoie à la doc de cette fonction


// On va chercher le mot de passe afférent à ce login
  $sql = "SELECT id_utilisateur, nom_utilisateur, prenom, nom, email, date_enreg, mot_de_passe FROM utilisateurs WHERE nom_utilisateur = '".addslashes($nom_utilisateur)."'";
  $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);

  // On vérifie que l'utilisateur existe bien
  if (mysql_num_rows($req) > 0) {
     $data = mysql_fetch_assoc($req);

         
    // On vérifie que son mot de passe est correct
    if (sha1($mot_de_passe) == $data['mot_de_passe']) {
      $loginOK == true;
      echo 'mot de passe correct!';
    }
  }
}

// Si le login a été validé on met les données en sessions
if ($loginOK) {
  $_SESSION['id_utilisateur'] = $data['id_utilisateur'];
  $_SESSION['nom_utilisateur'] = $data['nom_utilisateur'];
  $_SESSION['prenom'] = $data['prenom'];
  $_SESSION['nom'] = $data['nom'];
  $_SESSION['email'] = $data['email'];
  $_SESSION['date_enreg'] = $data['date_enreg'];
}
else {
  echo 'Une erreur est survenue, veuillez réessayer !';
}
?>



Et le formulaire :

Code: Tout sélectionner
<form method="post" action="verifLogin.php">
   <table border="0" width="400" align="center">
    <tr>
     <td width="200"><b>Vôtre nom d'utilisateur</b></td>
     <td width="200">
      <input type="text" name="nom_utilisateur">
     </td>
    </tr>
    <tr>
     <td width="200"><b>Vôtre mot de passe<b></td>
     <td width="200">
      <input type="password" name="mot_de_passe">
     </td>
    </tr>
    <tr>
     <td colspan="2">
      <input type="submit" name="submit" value="login">
     </td>
    </tr>
   </table>
  </form>

spidetra
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Lun Juil 07, 2003 13:06

Message le Jeu Mar 23, 2006 16:49

tu as modifié ton INSERT ?

[Résolu] Mot de passe et Mysql

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Bombing

  • Calculer l'indice de densité
    Cet outil vous permet de calculer l'indice de densité d'un mot-clé d'une page web. Il est calculé à la fois pour la balise TITLE, la balise META description et l'ensemble du texte de la page.
  • Suggestions de mots-clés
    Cet outil vous fournit une liste de mots sémantiquement proches du mot que vous fournissez en entrée. Il peut servir à vous donner des idées de mots à utiliser sur vos pages, voire de contenus à ajouter.
  • Suggestions Google Suggest
    Cet outil vous permet d'obtenir une liste de 10 mots ou expressions suggérés par Google sur la base d'un mot que vous fournissez.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités