Page 1 sur 1

Cookie et sécurité

Posté : 27 mars 2010, 14:27
par Benamour Jr
Hello !
Je suis en train de me poser une question...

Mon site est développé de tel sorte que lorsque quelqu'un se connecte pour accéder à un espace membre, cela crée un cookie nommé PSEUDO qui contient... le pseudo du membre. Ce $_COOKIE['pseudo'] est automatiquement transformé en $_SESSION['pseudo'] quand le membre arrive sur mon site. A partir de ce $_SESSION['pseudo'] j'affiche des informations sur le membre. Exemple :
<?php
$req = $bdd->prepare('SELECT email FROM membre WHERE pseudo = :pseudo');
$req->execute(array('pseudo' => $_SESSION['pseudo']));
$req_fetched = $req->fetch();
$email = $req_fetched['email'];
echo 'ton email est : ' . $email;
?>
Mais ca pose un GROS problème de sécurité non ? Si j'ai bien compris n'importe quel pey peut modifier un cookie, donc si monsieur X remplace le pseudo présent dans son cookie par le pseudo d'un autre membre du site... il aura accès à toutes ses données !? Si c'est bien le cas, quelle est la solution ?

Re: Cookie et sécurité

Posté : 27 mars 2010, 14:35
par visualight
Oui, en effet ...

Personnellement (je ne suis pas un pro) mais ce que je ferais c'est de mettre un ID généré par hash sha1 dans le cookie en plus du pseudo.
Dans ta bdd, tu met également un champ en relation avec les utilisateurs avec la clef sha1 générée.
$req = $bdd->prepare('SELECT email FROM membre WHERE pseudo = :pseudo AND uniquekey = :uniquekey');
$req->execute(array('pseudo' => $_SESSION['pseudo'], 'uniquekey' => $_SESSION['uniquekey']));
Ainsi si un pirate viens à modifier le cookies avec le pseudo d'un autre, il est obligé de connaitre le hash sha1 de l'utilisateur en question en plus de son pseudo ce qui ne facilite pas les choses...

Maintenant, comme je te l'ai dit, je suis pas un pro et certainement que d'autres personnes auront à redire ...

Bonne prog,
raph

Re: Cookie et sécurité

Posté : 27 mars 2010, 16:53
par Benamour Jr
Merci pour ta solution :)