Cookies & sessions Flashcards

1
Q

cookies, c’est quoi ?

A

les cookies permettent de retrenir des informations sur un utilisateur (username, champs formulaires, identifier automatiquement un utilisateur)
Permet aussi de stocker un identifiant de session.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Pourquoi cookies ?

A

Permet d’étendre HTTP qui ne permet pas à la base de de lien entre 2 requêtes. Ils sont maintenant intégré au protocole.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Comment est stocké le cookie ?

A

les cookies sont stockés par le navigateur sur l’ordinateur de l’utilisateur à la demande du serveur.
Les cookies sont envoyés dans les entêtes HTTP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Comment lire et écrire un cookie ?

A

fonction setcookie(nom, valeur).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Comment lire un cookie?

A

avec la superglobale $_COOKIE[];

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

ajouter une date d’expiration d’un cookie :

A

ajouter un timestamp en troisième argument :

setcookie(nom, valeur, mktime());

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Comment supprimer un cookie ?

A
  • sur l’ordinateur de l’utilisateur : donner une date dépassée => setcookie(name, value, 1)
  • sur le serveur : unset($_COOKIE[‘name’]);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qu’est ce qu’une sérialisation / désérialisation ?

A
  • La sérialisation permet de transformer une varible array ou object en en chaine de caractère (string) et la désérialisation fait l’inverse.
    Ce mécanisme permet de stocker des arrays ou objects en cookies.
    serialize();
    unserialize();
    Attention ces functions peuvent être une faille de sécurité, privilégier le JSON avec json_encode() et json_decode();
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Comment restreindre la portée d’un cookie ?

A

avec 2 paramètres supplémentaires :

  • le chemin d’accès : “/manual”
  • le nom de domaine “www.php.net” ou “.php.net”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Cookie : limitation et sécurité

A
  • 20 cookies max par domaine et 4 Ko par cookie

- pas d’informations confidentielles stockées car ces informations peuvent être modifiée par l’utilisateur

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Session ?

A

au lieu de stcoker chez le visiteur (cookies), vous stockez sur le serveur et on attribue au visiteur un identifiant. A chaque fois que le visiteur revient avec cet identifiant, PHP récupère toutes les informations relatives à cet identifiant.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Lecture et écriture d’une session

A
  • session_start();

- les informations sont stockées dans la variable superglobale : $_SESSION[];

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

que ce passe t’il quand on fait session_start() ?

A

PHP essaie de lire le contenu d’un cookie nommé par défaut PHPSESSID. Il il n’existe pas, un nouvel identifiant est créé de manière aléatoire puis est envoyé par cookie au navigateur sans date d’expiration.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Comment supprimer une session ?

A

normalement pas besoin car PHP supprime automatiquement au bout d’un certain temps (1h30 environ si non utilisé).
On peut tout de même utiliser :
- session_destroy();

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Comment récupérer le répertoire de stockage des sessions ?

A

echo session_save_path();

How well did you know this?
1
Not at all
2
3
4
5
Perfectly