Article     Discussion     Modifier     Historique     Forums     Salon IRC

Les cookies en PHP

Un article de Games Creators Network.

(Redirigé depuis Les cookies en php)


Sommaire

[modifier] Présentation

Malheureusement je ne vais pas vous parler des délicieux biscuits aux chocolats, mais des cookies informatiques. Késako un cookie ? Et bien c'est un petit fichier qui contient des données transmises par un site web.

Mais c'est pas dangereux?

Non, rassurez vous, tout le monde à déjà reçut des cookies de divers sites web au moins une fois dans leurs vie. Ils ne sont pas dangereux car il ne contienne que une donnée brute : du texte (string en informatique). Cette données est non-executable, c'est-à-dire que l'ordinateur ne pourra pas l'interpréter en tant que script ou programme; donc il ne sont ni spyware, ni virus. Par contre, des sites de spywares peuvent y stocker des informations sur vous, sur vos habitudes, sur votre ordinateur dans le but de s'en servir plus tard.

Sous Windows, les cookies sont stockés dans C:\windows\Temporary Internet Files. Vous pouvez allez voir, vous aurez pas mal de cookies normalemement qui servent a conserver par exemple vos identifiants et mots de passe.

Le but du cookie est donc de transmettre des données entre le serveur et le client sans passer par des variables passées en arguement de l'URL.

[modifier] Création de cookie et envoi de données

Et bien pour créer et envoyer un cookie, nous allons nous servir de la fonction php setcookie()

<?php
// Le temps de vie du cookie en secondes, soit ici 1 heure (60x60 secondes)
$temps = 3600;
 
// On créé et on envoie le cookie au navigateur client qui va le sauvegarder
setcookie("login","Pchiter",time()+$temps);
?>

Ici, on a envoyé un cookie avec le nom login, avec comme valeur Pchiter et ayant comme temps d'expiration l'heure actuelle ( time() ) plus 1 heure.

Il faut néanmoins faire attention à une chose, il faut que vous placiez votre code d'envoi de cookies avant tout le reste de votre code.

[modifier] La récupération des données

Encore une fois, ce n'est pas compliqué, vous n'avez qu'à vous servir d'un petit echo comme ceci :

<?php
echo $_COOKIE["login"];
?>

Et bien le echo affichera tout ce que contient le cookie, balèze php non ?


[modifier] La destruction de cookies

Comme on me l'a dit, détruire un cookie c'est très important ;p. Bref, pour détruire un cookie il suffit de le vider comme ceci :

<?php
setcookie("login");
?>

ou

<?php
setcookie("login","Pchiter",time()-10); 
?>

Comme cela, le cookie renverra FALSE et sera détruit du coté client, mais attention, il faut qu'il ait exactement les mêmes paramêtres mis a part le temps.

[modifier] Conclusion

En conclusion, les cookies s'avèrent très efficaces lorsque l'on fait un système d'identification puisque les gens ne seront pas obligés de se reconnecter toutes les 10 minutes.


Remarques :

Si vous faites un système d'authentification, récupérez l'adresse IP du visiteur afin qu'un cookie ne soit pas détourné.

N'oubliez pas que les cookies peuvent être lu voire modifié par le client, donc évitez absolument de mettre des informations importantes comme, par exemple, un mot de passe ou une adresse IP; Utilizez plutôt le condensé du mot de passe (MD5), et comparez-le avec le condensé du vrai mot de passe.

 

Rechercher
Installer l'extension de recherche Plus d'informations

 

Comprendre
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. - Benjamin Franklin

 

Partager
La connaissance est la seule chose qui s'accroit lorsqu'on la partage. - Sacha Boudjema

 

Créer
L'imagination est plus importante que la connaissance. - Albert Einstein

 

 

Le wiki en images Le wiki en images Image du mois: «Snowball: un prototype de jeu développé avec NeL.