Magazine

Implanter une section sécurisée sur votre site avec PHP

Publié le 14 mars 2008 par Dave Lizotte
Depuis les débuts de PcKULT.NET, j'ai reçu beaucoup de courriels concernant la difficulté pour la plupart des débutants de créer une section sécurisée pour leur plateforme web pour les raisons suivantes :
  1. Incapacité de maintenir les sessions de connexion si l'usager visite une nouvelle page.
  2. Incapacité de rediriger un usager à une page spécifique après la connexion au système.
C'est pourquoi j'ai déniché pour vous un système de sécurité PHP à intégrer à votre projet en quelques minutes.
Télécharger le script PHP
Avant de démarrer, regardons ce que contiennent l'archives :
Archives
 
  • login-form.php - Contiens le formulaire de login contenant 2 champs (email et mot de passe).
  • common-functions.php - Contiens la fonction de redirection et de nettoyage des champs de saisie afin d'éviter les injections de code dans les champs texte du formulaire.
  • config.php - Contiens la connexion à la base de données.
  • login.php - Contient une requête SQL permettant de vérifier si l'usager existe ainsi que la fonction de création de la session PHP si l'usager est correctement identifié.
  • logout.php - Contiens la fonction de suppression de la session si vous êtes connecté.
  Dans ce script, nous supposons que votre base de données gère les usagers avec leur email. Dans le cas ou l'usager entre un mot de passe ou un email incorrect, un message d'erreur est alors affiché: Message d'erreur
...autrement, si l'authentification est réussie, un lien déconnexion (logout) apparait:
Connexion réussi


Étape 1: Inclure login-form.php

Créer une nouvelle page PHP nommé index.php dans le même répertoire que login-form.php. Ouvrez index.php et ajoutez-lui entre les balises <body> le code suivant :
  <?php include('login-form.php')?>
Ceci aura pour effet d'afficher le formulaire de connexion sur votre page. Par la suite, ajoutez-lui la ligne qui suit dans le haut de votre page index.php et assurez-vous que cette ligne soit placée avant toute autre ligne de code dans votre page sinon, la session ne fonctionnera pas:
  <?php session_start(); ?>


Étape 2: Modifier config.php

Modifier les informations de connexion à la base de données dans le fichier config.php:
Connexion à la base de données

Étape 3: Modifier login.php

Vous pouvez modifier ce fichier dans le cas ou votre table ne s'appellerait pas « USER » ou que les champs « email » et « password » ne sont pas présent dans votre table. Ajuster donc la requête en fonction de votre table.
  Requête MySQL
L'utilisation de la clé primaire pour stocker une session est une bonne pratique en PHP. Si votre clé est différente de « ID_USER_PK », modifier celle-ci en fonction de la vôtre.
  Vous pouvez aussi modifier l'adresse de redirection lorsqu'un usager s'authentifie ou lorsque celui-ci saisit un mauvais nom d'usager ou mot de passe.
 

Étape 4: Modifier l'adresse de redirection lors de la déconnexion dans logout.php

Dernière étape, modifier l'adresse de redirection lorsqu'un usager clique sur le lien déconnexion (Logout):
  Déconnexion
C'est tout! Si vous avez bien ajusté les pages, le tout devrait fonctionner à merveille. Si vous avez des questions, n'hésitez pas.
 

Retour à La Une de Logo Paperblog

A propos de l’auteur


Dave Lizotte 57 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte