Securité Pseudo Password

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

19 avr. 2006, 11:12

Euh... ben non... ce sont les deux qui sont cryptés :)

Lors de l'insertion en base, tu cryptes le mot de passe qui a été renseigné pour que celui-ci ne soit pas lisible (comme les gens ont tendance à mettre le même mot de passe partout, ca empêche de le trouver si quelqu'un met la main sur ta base, où si tu délègues la gestion à d'autres personnes :))

Il ne peuvent ainsi pas se faire passer pour un autre en utilisant son mot de passe puisqu'il ne peuvent ni le lire, ni le décrypter.

Et lors de la connexion, tu as juste à crypter celui utilisé pour aller comparer la valeur obtenue à celle que tu as dans ta base. Si elles correspondent, c'est qu'il s'agit bien du même mot de passe :)

Eléphant du PHP | 120 Messages

19 avr. 2006, 11:17

donc il faudrai utiliser le meme cryptage pour les 2 mdp de sorte a ce que la valeur corresponde c ca ?
une autre question, comment crypter un mdp sur une bdd ?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

19 avr. 2006, 11:27

une autre question, comment crypter un mdp sur une bdd ?
Quand on remonte un sujet, on fait l'effort de lire les réponses qui ont été données avant
Quelqu'un a déjà répondu à cette question dans ce sujet

Eléphant du PHP | 120 Messages

19 avr. 2006, 11:40

tkt l'effort a été fait, sinon le sujet ne serait pas remonté. d'ailleur je cherche comment crypter des données sur une bdd selon le md5 ou le sha1, mais si je redemande ici c pour avoir ne serai ce qu'un lien vers un tuto (autre que celui proposé déja car peu d'infos dessus) qui explik bien comment inserer ces données cryptées.
merci !!!

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

19 avr. 2006, 11:46

Cryptées ou pas ça ne change rien, tu as un juste à insérer les données avec un banal INSERT

Tu peux utiliser les fonctions PHP qui t'ont été données, ou leur équivalent MySQL (ou autre sgbd)

Eléphant du PHP | 120 Messages

19 avr. 2006, 11:55

impeccable !!!
ca c un bon tuyau que tu me donnes ! la j'ai compri comment s'utilise la md5() car j'avais pas vu que c'est une fonction de php.
merci pour les renseignements.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

19 avr. 2006, 13:26

Donc en résumé, exemple pour MD5

via PHP :
<?php
$mdp = 'toto';
$mdpCrypte = md5($mdp);
$req = "INSERT INTO table (login, mdp) VALUES ('titi', '".$mdpCrypte."'";
?>
via MySQL :
$req = "INSERT INTO table (login, mdp) VALUES ('titi', MD5('".$mdp."')";

Petit nouveau ! | 2 Messages

30 août 2007, 11:25

Bonjour
Je début aussi en php mais je dois en plus gérer une base de données (pas mal pour un début!!)
dans le site que je développe il y a une zone permettent de faire des achats via un connexion client.
Mon problème est tout bête mais il me pourrit la vie depuis 3 jours.
Lorsque mon client va se connecter il tape son pseudo et son mot de passe. Provisoirement il est envoyé vers une page de gestion de son profile (ca c'est pour vérifier si la connexion ce passe bien). En cas d'erreur il est redirigé vers un page spécifique.
Le problème vien du fait que lors de la requête je ne suis pas du tout envoyé vers les pages!
Je précise que je suis passé par la fonction "connecter l'utilisateur" et voici le code que dreame m'a générer :

Déclaration du formulaire

Code : Tout sélectionner

<form id="login" name="login" method="POST" action="<?php echo $loginFormAction; ?>"> <p>pseudo <input name="pseudo" type="text" id="pseudo" /> </p> <p>mot de passe <input name="mdp" type="password" id="mdp" /> </p> <p align="center"> <input type="submit" name="Submit2" value="connexion" /> </p> </form> </tr>
le code de controle utilisateur
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevtUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['pseudo'])) {
  $loginUsername=$_POST['pseudo'];
  $password=$_POST['mdp'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "tableau_de_bord.php";
  $MM_redirectLoginFailed = "rejet.html";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_BtPrestige, $BtPrestige);
  
  $LoginRS__query=sprintf("SELECT pseudo, pass FROM shp_client WHERE pseudo='%s' AND pass='%s'",
    get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)); 
   
  $LoginRS = mysql_query($LoginRS__query, $BtPrestige) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
    
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;	      

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];	
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
je vous remercie pour votre aide

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

30 août 2007, 12:02

Et concretement qu'est ce qui t'arrive ? tu es redirigé vers une autre page ? tu as une page blanche ? une page non trouvée ? tu restes sur le formulaire ? ...

Affiche la valeur de $loginFoundUser, ca devrait générer une erreur sur le header, mais ça te permettra déjà de savoir si tu rentres dans le if() ou dans le else et voir si le problème a lieu avant ou après.

Vérifies également que la variable $loginFormAction utilisé dans l'attribut action de ton formulaire te renvoi bien vers la page de traitement des données (qui semble être la même ?)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 2 Messages

30 août 2007, 18:24

Merci de ton intervention,
En fait je reste sur ma page. le formulaire se réinitialise et c'est tout.
Je vais faire le test avec le $loginFoundUser, mais je place cette fonction où exactement? et comment vérifier la variable $loginFormAction ?
Mes question sont peut être idiote mais je débute en php et je galère. d'autant plus que j'e suis un bouquoin qui est très mal fait :evil: