Fonction sanitize ?

Résolu
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   -  
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai récupéré une fonction mais j'aimerai savoir à quoi elle consiste, je n'arrive pas bien à comprendre son rôle.
Ca tourne autour de la sécurité je crois, mais si vous pouvez m'en dire un peu plus.

En vous remerciant beaucoup.

function user_exists($username){
    $username = sanitize($username);
    return (mysql_result(mysql_query("SELECT COUNT('user_id') FROM users WHERE username = '$username'"), 0) == 1) ? true : false;
}
A voir également:

8 réponses

mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
0
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour
En fait la fonction que je souhaite récupérer c'est bien celle-ci.
Merci de votre aide.
function user_exists($username){
    $username = sanitize($username);
    return (mysql_result(mysql_query("SELECT COUNT('user_id') FROM users WHERE username = '$username'"), 0) == 1) ? true : false;
}
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Ta fonction user_exists retourne TRUE si l'utilisateur $username existe dans la table users, FALSE sinon.

La fonction sanitize en php n'existe pas (cette fonction doit être définie dans ton code). Dans cet exemple, la fonction sanitize devrait être remplacé par mysql_real_escape_string pour éviter les injections sql :
function user_exists($username){
    $username = mysql_real_escape_string($username);
    return (mysql_result(mysql_query("SELECT COUNT('user_id') FROM users WHERE username = '$username'"), 0) == 1) ? true : false;
}


Bonne journée
0
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour
J'ai fait comme ça mais malheureusement ça me retourne aucun nom de compte trouvé.
Pourtant le compte existe dans ma BDD, je ne comprend pas.
S'ils vous plait comment résoudre se fichu problème?
Voilà mes 5 fonctions.
Merci
function logged_in(){
    return (isset($_SESSION['user_id'])) ? true : false;
}

function user_exists($username){
    $username = mysql_real_escape_string($username);
    return (mysql_result(mysql_query("SELECT COUNT('user_id') FROM users WHERE username = '$username'"), 0) == 1) ? true : false;
}

function user_active($username){
    $username = mysql_real_escape_string($username);
    return (mysql_result(mysql_query("SELECT COUNT('user_id') FROM users WHERE 'username' = '$username' AND 'active' = 1"), 0) == 1) ? true : false;
}

function user_id_from_username($username){
    $username = mysql_real_escape_string($username);
    return mysql_result(mysql_query("SELECT 'user_id' FROM 'users' WHERE 'username' = '$username'"), 0, 'user_id');
}

function login($username, $password){
    $user_id = user_id_from_username($username);
    
    $username = mysql_real_escape_string($username);
    $password = md5($password);
    
    return (mysql_result(mysql_query("SELECT COUNT('user_id') FROM users WHERE username = $username AND password = $password"), 0) == 1) ? $user_id : false;
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
As tu essayer d'exécuter ta requête directement dans un client sql (PhpMyAdmin par exemple) ?

Si oui, as tu des erreurs php et/ou sql ?

function user_exists($username){
    $username = mysql_real_escape_string($username);
    $result = mysql_query("SELECT COUNT('user_id') FROM users WHERE username = '$username'");
    if (!$result) {
        die('Requête invalide : ' . mysql_error());
    }
    return (mysql_result($result, 0) == 1) ? true : false;
}
0
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour
J'ai essayé la requète dans PhpMyadmin ça me renvoie...
COUNT('user_id')
0
alors que j'ai 1 compte je ne comprends pas.
Merci de votre aide
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Difficile de t'aider plus.

Tu n'as pas une faute de frappe sur le username ?

Partage nous un export de ta bdd sinon.
0
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour
Je te remercie sincérement.
Déjà je vais reprendre mes fonctions depuis le début parce que je crois que j'ai fait une boulette en fait, je ne suis pas sur mais bon je vais reprendre tout ça.
Merci encore et si toute fois j'ai des soucis je reposterai.
Merci
0