Les cookie

Répondre
jordan25
le 05/08/2009 à 06:52
jordan25
Bonjours,
J'ai un problème avec ces cookies c'est que je comprend rien à rein :$

Enfête j'ai un site où les membres doivent se connecter 10 fois en 1h00 où presque et j'ai eu beaucoup de gens qui me demande de mettre des cookie mais seulement je sais pas le mettre j'ai lut le tutoriel et si j'ai bien compris il faudrais que je mette ce code :
<?php if(!isset($_SESSION['login'])) { ?>
<form method="post" action="login.html" />
<label for="login"><input type="text" class="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); else { echo'Pseudo'; } ?>" id="login" name="login" onfocus="if(value=='Pseudo') this.value='';" /></label>
<label for="password"><input type="password" id="password" class="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); else { echo'motdepasse'; } ?>" name="mot_de_passe" onfocus="if(value=='motdepasse') this.value='';" /></label>
<?php
$timestamp_expire = time() + 365*24*3600; // Le cookie expirera dans un an
setcookie('pseudo', 'login', $timestamp_expire); // On écrit un cookie
setcookie('pass', 'pass', $timestamp_expire); // On écrit un autre cookie...

// Et SEULEMENT MAINTENANT, on peut commencer à écrire du code html
?>


Ceci est le code que j'ai mis mais je ne suis pas sûr qu'il va marcher :/
Merci de me répondre :)
jordan
LA GLOBULE
le 05/08/2009 à 18:34
LA GLOBULE
Avec juste le code que tu nous montres, non, cela ne fonctionnera pas.

Rapellons le principe :
- au moment où la personne se logue, il te faut initialiser un cookie
- sinon, quand tu as une personne qui n'est pas loguée, si elle a ce cookie, tu la logues

Dans ton code, qu'as tu fais ?
=> tu as initialisé deux cookies quand le visiteur n'est pas logué (if(!isset($_SESSION['login']))) :
- un cookie de nom 'pseudo' contenant la chaine de caractères 'login'
- un cookie de nom 'pass' contenant la chaine de caractères 'pass'

2 erreurs :
- il faut créer un cookie quand la personne est loguée et non quand elle n'est pas logué
- en valeur de cookie, il faut mettre un truc qui te permette de reconnaitre l'identitié du visiteur. Prenons ton exemple : un visiteur va sur ton site, son cookie à la valeur 'login'. Ce n'est pas avec cette information que tu vas savoir qu'il s'agit du membre "duchmol".

Attention aussi à ne pas juste mettre le nom du membre en cookie. En effet, rien de plus simple que de construire un cookie et ainsi de se faire passer pour un autre membre.
Dans ce genre de cookie, il faut mettre un code qui a priori est indevinable pour un être humain (pas l'id du membre, pas son pseudo, etc.) mais qui te permettra d'identifier à coup sur un membre.

Personnellement, sur lephpfacile, dans ce cookie, il s'agit d'un md5 du pseudo du membre concaténé avec un "grain de sel" (il s'agit d'une petite chaine de caractères invariable que moi seul connait). Comme tous les pseudos du site sont différents, je suis sur de l'unicité de ce cookie et de ne pas confondre deux membres.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours