my keyboard
×

Description de la fonction : Gestion de session en base de données

La fonction ou module « gestion de session en base de données » permet au propriétaire d’un site web, de conserver les données d’une session web sur une base de données, plutôt que d’utiliser les outils « PHP $_SESSION ». Cette fonction peut également être utilisée afin d'éviter l'utilisation d'un « COOKIE Javascript » notamment pour gérer la navigation entre les pages.

Raisons pour lesquelles une session web est requise
Une session permet de maintenir un dialogue avec un internaute, en conservant les valeurs des variables définies et mises à jour tout au long de l'interaction, et pouvant se dérouler sur multiples pages d'un site web.

La session est normalement initiée et maintenue au niveau du serveur « hébergeur » du site web.

Pourquoi utiliser une base de données pour gérer une session web
Beaucoup de littérature est disponible à ce sujet. Voici deux raisons pouvant être considérées importantes:

  • En hébergement partagé, nous n’avons pas toujours le contrôle sur certains paramètres $_SESSION PHP. Par exemple, la durée d’expiration « timeout » d'une session.

  • D’un point de vue sécurité et confidentialité de l’information, les risques de « hacking » d’une session web seraient plus élevés. Ce qui pourrait exposer des informations sensibles d’un internaute accédant votre site.

L’utilisation d’une base de données offre donc au propriétaire d’un site web, le plein contrôle sur les paramètres de session, tout en assurant un niveau de sécurité accru pour les données de ses clients.

Voyez cet exemple d'utilisation.

Solution offerte par Services WEB Ghislain Prince
La solution « gestion de session en base de données » est constituée d’un ensemble de fonctions programmées en langage PHP et Javascript, effectuant les opérations suivantes :

  • Initialisation d’une session sur la base de données mySql.

  • Processus sécurisé d’accès à la base de données.

  • Utilisation de l’URL pour contenir l’identifiant de la session.

  • Mécanismes de protection contre le « piratage » de l’identifiant de session.

  • Ouverture « connexion » à une session existante.

  • Contrôle de l’expiration d’une session.

  • Destruction des records de session lors de l’expiration d’une session et lors de la fermeture d’une session par l’internaute.

  • Lecture et effacement sélectifs des variables de session à partir d’une page web (combiné à programmation javascript associée aux pages html du site).

  • Gestion de la navigation entre les pages d’un site web, assurant le plein contrôle sur les redirections.

  • Support au processus 'Post-Redirect-Get (PRG)', assurant le transport des paramètres associés aux URL.

  • Gestion de la navigation supportant le « url-rewrite » personnalisé.

Cette fonction vous intéresse?
N’hésitez pas à me contacter. Il me fera plaisir de répondre à toutes vos questions.







×

Exemple d'utilisation - Session en base de données

Pour illustrer le fonctionnement général, cette page utilise la « Gestion de session en base de données » au lieu d'utiliser un Cookie Javascript. Pour le constater, vous remarquerez les aspects suivants :

  • Lors de l'ouverture de la présente page, un record de session a été créé dans la base de données. Ce record contient un identifiant (ID) relatif à cette page. Ceci est transparent pour l'utilisateur.

  • À la fermeture de cette page, donc au retour à la page d’accueil, un paramètre ‘ext=’ est ajouté à l’adresse de la page et est visible dans la barre d'adresse. Il s'agit d'une clé unique associée au record de session enregistré dans la base de données.

  • Lors du chargement de la page d'accueil, le record de session est accédé en utilisant la clé unique indiquée au paramètre ‘ext=’. L'identifiant (ID) est ainsi obtenu.

  • Cet identifiant sert à contrôler le chargement de la page d'accueil, afin que la section (boîte de dialogue) PRODUITS soit affichée automatiquement.

  • Lors de la fermeture de la boîte de dialogue PRODUITS, le paramètre ‘ext=’ est automatiquement supprimé de la barre d'adresse et l’identifiant (ID) est effacé de la base de données.

  • Nous contrôlons ainsi la navigation sans l'utilisation d'un Cookie Javascript.

Cet exemple démontre le potentiel d’utilisation de cette fonction notamment lorsque vous avez des formulaires à traiter en mode POST, ou des informations plus volumineuses à passer entre les pages de votre site web, de façon sécuritaire et contrôlée.