Le support des sessions de PHP est un moyen de préserver des données
entre plusieurs accès. Cela vous permet de créer des applications
personnalisées, et d'augmenter l'attractivité de votre site.
Si vous êtes familier avec la gestion de session de la librairie PHPLIB, vous remarquerez que certains concepts sont similaires.
Chaque visiteur accédant à votre page web se voit assigné un identifiant
unique, appelé 'identifiant de session'. Il peut être stocké soit dans
un cookie, soit propagé dans l'URL.
Le support des sessions vous permet d'enregistrer un nombre illimité de
variables qui doivent être préservées entre les requêtes. Lorsqu'un
visiteur accède à votre site, PHP va vérifier automatiquement (si
session.auto_start est activé1) ou sur demande (explicitement avec
session_start ou implicitement avec session_register ) si il existe une
session du même nom. Si c'est le cas, l'environnement précédemment sauvé
sera recréé.
Toutes les variables sont sérialisées après l'exécution du script PHP.
Les variables qui sont indéfinies sont marquées comme telles. Lors des
accès ultérieurs, elles ne seront pas définies, jusqu'à ce que
l'utilisateur le fasse.
Note
La gestion des sessions a été ajoutée en PHP 4.0.
Sessions et sécuriter
Utiliser les sessions ne signifie pas que les données de session ne
pourront être vue que par un seul utilisateur. Il est important de
garder cela en tête, lorsque vous stockez et affichez des données
importantes. Lorsque vous stockez des données dans une session, il faut
se demander quels seront les problèmes posés si quelqu'un d'autre accède
à cette information, ou comment votre application est affectée si la
session est en fait celle d'un autre.
Par exemple, si quelqu'un usurpe une session, il peut alors poster un
message dans un forum sous une fausse identité. Quelle est la gravité
de ce problème? Ou bien, il peut accéder aux commandes d'un client, et
même, modifier son panier d'achat. A priori, c'est moins problématique
pour un fleuriste que pour un pharmacien.
Par conséquent, lorsque vous manipulez des données importantes, il faut
exploiter d'autres méthodes pour décider si une session est valide ou
pas. Les sessions ne fournissent pas une méthode fiable
d'authentification.
Les sessions reposent sur un identifiant de session, ce qui signifie que
quelqu'un peut voler cet identifiant, rien qu'en volant l'ID. Ce vol
peut être rendu très difficile, comme par exemple en utilisant les
cookies, mais en aucun cas cela sera impossible. Les sessions dépendent
aussi de la discipline de l'utilisateur qui referme son navigateur à la
fin de la session pour tout clore proprement. De plus, même les cookies
de session peuvent être surveillés sur un réseau, ou bien notés par un
proxy.
Aucun commentaire:
Enregistrer un commentaire