Pourquoi créer un système personnalisé de sessions ?
- Parce que c'est intéressant et que j'aime bien ce qui est inutile.
- Parce que j'ai envie qu'on puisse pirater mon site facilement.
Bon les vraies raisons maintenant :
- Parce que ça permet de faire des scripts encore plus portables sachant que certains hébergeurs puent de la gueule et imposent leur propre système/dossier/etc...
- Parce que ce genre de truc :
Code :
- ini_set('arg_separator.output', '&');
- ini_set('session.use_trans_sid', false);
- ini_set('session.use_only_cookies', true);
|
... ne marchent pas partout, et que ça fait chier de voir gueuler le validateur.
- Parce que j'aime bien réinventer la roue.
Où télécharger ce système de session ?
ici : http://tousleschats.free.fr/hermes/sessions.zip
Comment on s'en sert ?
Voici un copier coller du fichier d'exemple :
Code :
- <?php
- // **************************
- // * Inclusion des sessions *
- // **************************
- define("ADR", "" );
- define("NOM_COOKIE", "cms2" );
- include(ADR."sessions/fonctions-sessions.php" );
- // *************************************************
- // * *
- // * Démarrer la session *
- // * *
- // * $id_session est l'identifiant de session créé *
- // * *
- // *************************************************
- /*
- $id_session = session('start');
- */
- // ***************************************************************
- // * *
- // * Détruire la session en cours *
- // * *
- // * Il faut obligatoirement fournir l'identifiant de la session *
- // * *
- // ***************************************************************
- /*
- session('stop', $id_session);
- */
- // ****************************************************************************
- // * *
- // * Initialiser des variables de sessions et leur attribuer une valeur *
- // * *
- // * Soit un tableau $tbl_variables *
- // * syntaxe : $tbl_variables['nom_de_la_variable_de_session'] = "sa valeur"; *
- // * *
- // * session('set', $tbl_variables, $id_session); *
- // * *
- // * Note : le 3° paramètre est facultatif et sert si on veut passer *
- // * l'identifiant de session par l'adresse et non par les cookies *
- // * *
- // ****************************************************************************
- /*
- $tbl_variables = array();
- $tbl_variables['var_x'] = 12;
- $tbl_variables['var_y'] = "une chaine";
- $tbl_variables['var_z'] = "";
-
- session('set', $tbl_variables, $id_session);
- */
- // ****************************************************************************
- // * *
- // * Lire les variables de session *
- // * *
- // * Syntaxe : $tbl_variables = session('read', $id_session); *
- // * *
- // * Cela renvoie un tableau dont on affiche les valeurs comme ceci : *
- // * *
- // * echo $tbl_variables['nom_de_la_variable_de_session_a_afficher']; *
- // * *
- // * Note : le 2° paramètre est facultatif et sert si on veut passer *
- // * l'identifiant de session par l'adresse et non par les cookies *
- // * *
- // ****************************************************************************
- /*
- $test = session('read');
-
- print_r($test);
- */
- // ****************************************************************************
- // * Detruire des variables de session *
- // * *
- // * Syntaxe : soit le tableau $tbl_variables. *
- // * On renseigne les noms des variables à détruire comme ceci : *
- // * $tbl_variables[0] = 'nom_de_la_variable_a_detruire'; *
- // * *
- // * session('unset', $tbl_variables, $id_session); *
- // * *
- // * Note : le 3° paramètre est facultatif et sert si on veut passer *
- // * l'identifiant de session par l'adresse et non par les cookies *
- // * *
- // ****************************************************************************
- /*
- $tbl_variables = array();
- $tbl_variables[0] = 'var_y';
- $tbl_variables[1] = 'var_z';
-
- session('unset', $tbl_variables, $id_session);
- */
- ?>
|
Questions (je prend les devants) :
- Puis-je passer par la barre d'adresse en plus des cookies si jamais le client a désactivé le cookie.
Oui.
- Comment je change les droits des fichiers de sessions ?
Dans le fichiers fonctions-sessions.php, la constante DROITS_SESSIONS est là pour ça ligne 7.
- Comment je rêgle le temps au delà duquel les sessions doivent être détruites si l'utilisateur laisse son ordi en plan ?
A la ligne 8 du fichier fonctions-sessions.php, la constante SESSIONS_EXPIRE permet de rêgler cela (elle s'exprime en secondes). 86400 = 24 heures.
Voilà, si certains ont des questions ou sont intéressés par mon script, ce topic est là pour ça.
Message édité par Hermes le Messager le 01-07-2006 à 16:36:58