Session et/ou cookies

Petit nouveau ! | 2 Messages

22 mars 2008, 10:11

Bonjour,
Je suis débutant en php , je travail avec dreamweaver et j'ai pas compris la différence entre l'utilisation des session et les cookies : es ce sont des choses différentes mais ont les méme taches ou ils travaillent ensemble c'est a dire quand en difinisse l'ouverture d'une session dans dreamweaver avec le comportement du serveur (resteindre l'accés a la page) le serveur va automatiquement envoyer une cookies au poste client?.
Merci.

Mammouth du PHP | 693 Messages

22 mars 2008, 15:00

C'est un peu des deux.

Lorsque tu crée une session, le serveur envoie un cookie à l'utilisateur avec son numéro de session. Ensuite, les variables $_SESSION sont stockés sur le serveur. Ainsi, la seule information sur l'ordinateur de l'utilisateur est l'identifiant de session. Par ailleur, le cookie expire à la fermeture du navigateur.

Lorsque tu utilise des cookies, les variables sont directement enregistrés sur l'ordinateur de l'utilisateur, ce qui peut poser des problèmes de sécurité car n'importe qui peut modifier les cookie sur son ordinateur. En revanche, tu peux régler toi même la date d'expiration.

Les cookies sont donc la solution pour faire une connexion automatique mais ne doivent en aucun cas servir pour mémoriser le rang de permission de l'utilisateur, auquel cas il faut plutot utilisé les variable de session.

ViPHP
AB
ViPHP | 5818 Messages

22 mars 2008, 18:46

Les variables de session et les cookies sont deux choses totalement différentes et indépendantes.

Les variables de sessions sont stokées sur le serveur et "s'effacent" avec la fermeture du navigateur, d'où leur nom puisqu'elles ne sont accessibles que pour la durée de la session. Il n'y a pas (à ma connaissance) de limite en terme de quantité d'information que l'on peut mettre dans une variable de session.

Les cookies sont un petit fichier texte d'un maximum de 4.096 caractères stocké sur le poste du visiteur. On s'en sert généralement pour stocké des préférences etc... On peut définir la durée de vie du cookie pour qu'il soit accessible lors d'une nouvelle session, après la fermeture du navigateur.

La seule relation entre les deux est que, comme le dit orgerix, quand on ouvre une session, l'identifiant de session sera placé par défaut dans un cookie si le poste du visiteur acceptent les cookies, sinon l'identifiant de session passera dans l'URL (solution beaucoup moins sécurisée).

Toute l'info est sur le manuel http://fr3.php.net/manual/fr/ref.session.php
http://fr3.php.net/manual/fr/function.setcookie.php