par
spedgreg » 04 nov. 2011, 18:02
J'ai entendu vaguement parlé de PDO il faut alors que je me forme
Sinon J'ai réussi une autre méthode pour ma connexion auto, ça fonctionne, et je pense que là qu'il n'y a plus de faille
j'ai ajouté un nouveau champs "hash_cookie" dans ma table "compte utilisateurs"
Lors de l’inscription d'un nouveau membre en plus du nom utilisateur, e-mail, .... j'enregistre ça:
$hash_cookie = mysql_real_escape_string(sha1('aaa'.$username.'bbb'.sha1($password).'ccc'));
puis sur ma
page connexion c'est une include, je récupère les donnée id, hash_cookie, ... je crée mais 2 SESSIONS et si la personne coche la "connexion auto"que je crée que 1 seul COOKIE
setcookie('connexion_automatique', $row["hash_cookie"], time() + 3600*24*365, '/');
sur ma
page index je fais ça :
<?php if(!empty($_COOKIE['connexion_automatique']) && empty($_SESSION['id_nom']))
{
// Sélection de l'utilisateur concerné
$result = mysql_query("
SELECT id, Nom_Utilisateur, Mot_de_Passe, hash_cookie
FROM Comptes_Utilisateurs
WHERE hash_cookie = '" . $_COOKIE['connexion_automatique'] . "'
");
// Récupération des données hash cookie,id, nom utilisateur
$row = mysql_fetch_array($result);
// reforme le hash et le compare avec hash de la base de donée
if(sha1('aaa'.$row["Nom_Utilisateur"].'bbb'.$row["Mot_de_Passe"].'ccc') == $row["hash_cookie"])
{
// si c'est ok je reforme les deux sessions
$_SESSION['id']=$row["id"];
$_SESSION['id_nom']=$row["Nom_Utilisateur"];
}
}
alors que en pense tu?

J'ai entendu vaguement parlé de PDO il faut alors que je me forme :)
Sinon J'ai réussi une autre méthode pour ma connexion auto, ça fonctionne, et je pense que là qu'il n'y a plus de faille :wink:
j'ai ajouté un nouveau champs "hash_cookie" dans ma table "compte utilisateurs"
Lors de l’inscription d'un nouveau membre en plus du nom utilisateur, e-mail, .... j'enregistre ça:
[php]
$hash_cookie = mysql_real_escape_string(sha1('aaa'.$username.'bbb'.sha1($password).'ccc'));
[/php]
puis sur ma [b]page connexion[/b] c'est une include, je récupère les donnée id, hash_cookie, ... je crée mais 2 SESSIONS et si la personne coche la "connexion auto"que je crée que 1 seul COOKIE
[php]
setcookie('connexion_automatique', $row["hash_cookie"], time() + 3600*24*365, '/');
[/php]
sur ma [b] page index[/b] je fais ça :
[php]
<?php if(!empty($_COOKIE['connexion_automatique']) && empty($_SESSION['id_nom']))
{
// Sélection de l'utilisateur concerné
$result = mysql_query("
SELECT id, Nom_Utilisateur, Mot_de_Passe, hash_cookie
FROM Comptes_Utilisateurs
WHERE hash_cookie = '" . $_COOKIE['connexion_automatique'] . "'
");
// Récupération des données hash cookie,id, nom utilisateur
$row = mysql_fetch_array($result);
// reforme le hash et le compare avec hash de la base de donée
if(sha1('aaa'.$row["Nom_Utilisateur"].'bbb'.$row["Mot_de_Passe"].'ccc') == $row["hash_cookie"])
{
// si c'est ok je reforme les deux sessions
$_SESSION['id']=$row["id"];
$_SESSION['id_nom']=$row["Nom_Utilisateur"];
}
}
[/php]
alors que en pense tu? :D