0% ont trouvé ce document utile (0 vote)
8 vues3 pages

Sessions et Cookies en PHP : Guide Complet

Module 9-php

Transféré par

eUser456
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
8 vues3 pages

Sessions et Cookies en PHP : Guide Complet

Module 9-php

Transféré par

eUser456
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Module 9 : Sessions et cookies en PHP**

Module 9 : Sessions et cookies en PHP

1. Sessions en PHP : Définition et utilisation

Démarrage de session :

session_start(); // Démarre la session

Stockage de données en session :

$_SESSION['nom'] = 'Jean Dupont';

Récupération de données stockées :

echo $_SESSION['nom']; // Affiche : Jean Dupont

Suppression d'une session :

unset($_SESSION['nom']);
session_destroy(); // Termine la session

2. Cookies en PHP : Définition et utilisation

Définition et envoi d’un cookie :

setcookie('username', 'JeanDupont', time() + (86400 * 30), "/"); // Expires


in 30 days

Récupération d’un cookie :

if(isset($_COOKIE['username'])) {
echo $_COOKIE['username']; // Affiche : JeanDupont
}

Suppression d’un cookie :

setcookie('username', '', time() - 3600, '/'); // Supprime le cookie

3. Gestion des sessions et cookies avec sécurité :

Régénération du ID de session :

session_regenerate_id(true); // Régénère l'ID de session avec une session


déjà existante

Vérification du cookie et de la session :


if (!isset($_SESSION['loggedin']) && !isset($_COOKIE['username'])) {
// Redirection ou message d'erreur si non connecté
}

4. Exercice : Création d’un formulaire de connexion avec session et cookies

Code de la page de connexion :

session_start();

if ($_SERVER['REQUEST_METHOD'] === 'POST') {


if ($_POST['username'] === 'admin' && $_POST['password'] === '1234') {
$_SESSION['loggedin'] = true;
setcookie('username', $_POST['username'], time() + (86400 * 30),
'/');
header('Location: [Link]'); // Redirection vers une page de
bienvenue
} else {
echo "Identifiant ou mot de passe incorrect.";
}
}

Code de la page de bienvenue ([Link]) :

session_start();

if (!isset($_SESSION['loggedin']) && !isset($_COOKIE['username'])) {


header('Location: [Link]'); // Redirection vers la page de connexion
exit;
}

echo "Bienvenue, " . $_COOKIE['username'];

5. Protection contre les attaques CSRF (Cross-Site Request Forgery) :

Ajout de token CSRF :

if ($_SERVER['REQUEST_METHOD'] === 'POST') {


if (!hash_equals($_SESSION['token'], $_POST['token'])) {
die('Accès non autorisé.');
}
}
$_SESSION['token'] = bin2hex(random_bytes(32));

Utilisation du token dans le formulaire :

<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">


6. Exercice : Ajout de la vérification CSRF à la connexion :

Code modifié dans le formulaire de connexion :

if ($_SERVER['REQUEST_METHOD'] === 'POST') {


if (!hash_equals($_SESSION['token'], $_POST['token'])) {
die('Accès non autorisé.');
}
// Vérification de l'authentification et gestion des sessions/cookies
}

Ce module vous a permis de comprendre les sessions et cookies en PHP, leur fonctionnement, et
l’importance de leur gestion sécurisée, notamment en utilisant des tokens CSRF. Si vous avez besoin
d’approfondir ou de clarifications, n’hésitez pas à demander !

Vous aimerez peut-être aussi