Sécurité Cookie [Résolu]

Signaler
Messages postés
69
Date d'inscription
mercredi 18 février 2004
Statut
Membre
Dernière intervention
6 décembre 2007
-
Messages postés
69
Date d'inscription
mercredi 18 février 2004
Statut
Membre
Dernière intervention
6 décembre 2007
-
Bonsoir,
Je m'adonner au joie des cookies ce soir lorsqu'une question toute bête m'est venue à l'esprit :

J'utilise les cookies sur mon site web.
A la connection (si l'utilisateur le souhaite) un cookie est crée contenant son id (unique) dans la base de données.
Ensuite, lorsqu'il revient, le site vérifie si ce cookie existe et utilise alors sa valeur pour logguer automatiquement l'utilisateur sur le site.

Ma question est, si un utilisateur (malintentionné) arrive à change la valeur dans son cookie (est-ce possible?) lui permettant de se logguer automatiquement à mon site, pourra-t-il se logguer avec un autre id, et donc sur un autre compte?Si oui quelle solution la plus sécurisée pourriez-vous me proposer?

Merci et bonneuuuu nuit ^^

6 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
Salut,

On peut modifier la valeur d'un cookie, mais si tu stoque son pseudo et pass dedans, ça règle le problème...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008

Salut,
Modifier un cookie, cela doit être possible puisque après "l'impossible est en cours" mdr
A la rigueur, je pense que si tu inclues un paramètre supplémentaire la tâche de cet utilisateur sera plus corsée.
Par exemple : tu mets l'ID + le nom d'utilisateur crypté (ou le mot de passe crypté).

For every choice, a consequence (Fable)
Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009

Les cookies ne doivent jamais servir de systeme d'identification d'un utilisateur car ils sont stocké sur le poste client ( donc modifiable a souhait), ils ne sont utile que pour la personnalisation (donc ne mettre aucune donnée sensible dedans)

Il existe en php les sessions qui sont beaucoup plus sécurisé car coté serveur (mais bon, ca n'empeche pas leur falsification)

"They are 10 sorts of persons whose understand binary and whose not"
Messages postés
69
Date d'inscription
mercredi 18 février 2004
Statut
Membre
Dernière intervention
6 décembre 2007

oui
en fait c'est pour éviter que l'utilisateur ait à se reconnecter à chaque visite, donc les sessions je les utilise déjà mais entre les visites elles ne me sont pas d'un grand secours

Pour ce qui est des cookies la solution de coucou747 est pô bête du tout ! C'est celle là qui  est la plus utilisée?

Bye & merci
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
Salut,

en fait, tu peux faire un mélange des deux, mais ça dépend du nombre de requettes sql que tu fais et de comment tu les fait... faire une requette à chaque fois juste pour savoir si c'est la bonne personne, c'est pas bon du tout...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
69
Date d'inscription
mercredi 18 février 2004
Statut
Membre
Dernière intervention
6 décembre 2007

Salut,
en fait la vérification se fait ainsi :

<?php
if(session_is_registered("log_user")){ //Si une session de connexion existe
    include "compte.php"; //inclure la page du compte de l'utilisateur
   
   
}elseif(!session_is_registered("log_user") && $_COOKIE["alicecr"]) { //sinon si le cookie existe, utiliser sa valeur pour créer une session
$cookie = explode(";",$_COOKIE["alicecr"]);
    $sql="SELECT * FROM `alice_membre` WHERE `email`='".$cookie[0]."' and `pwd`='".$cookie[1]."' and `valid`=1";
    $res=mysql_query($sql);
    $verif=mysql_num_rows($res);
    if($verif == 1)
    {
        session_register("log_user");
        while($var=mysql_fetch_array($res)){
            $_SESSION['id_pseudo'] = $var['id'];
            $_SESSION['pseudo']    = $pseudo;
            $_SESSION['nom']       = $var['nom'];
            $_SESSION['prenom']    = $var['prenom'];
        }
    }
    include "compte.php";
   
   
}else{
    include "connexion_compte.php";
}
?>

Ainsi, il n'y a q'une requête SQL si le cookie existe.

Bye & merci