26:33
Salut à tous et bienvenue dans cette sixième partie de notre série sur le développement d’un site e-commerce complet en PHP !
Dans cette vidéo, on va aborder une protection essentielle contre les attaques de type CSRF (Cross-Site Request Forgery), qui peuvent compromettre la sécurité de votre site.
Pour cela, on va créer une classe CsrfTokenManager
qui va nous permettre de générer et de valider des tokens CSRF pour chaque formulaire. Ces tokens assurent que la soumission du formulaire vient bien du site et non d’un attaquant.
Voici les principales méthodes que vous allez retrouver dans cette classe :
getToken()
: génère un nouveau token CSRF unique et le stocke dans la session utilisateur.isTokenValid()
: valide si le token soumis avec un formulaire correspond bien à celui stocké en session, ce qui permet de vérifier l'authenticité de la requête.invalidateToken()
: supprime le token CSRF de la session, par exemple après avoir validé un formulaire.getCsrfInput()
: génère un champ caché HTML contenant le token CSRF à ajouter dans un formulaire pour garantir sa protection.En utilisant cette classe, vous renforcez la sécurité de vos formulaires et protégez votre site contre les attaques CSRF.
C’est une étape indispensable pour la sécurité de votre e-commerce, donc restez bien concentré sur le code !
contenu du fichier CsrfTokenManager.php
<?php class CsrfTokenManager{ private string $sessionKey = '_csrf_token'; public function __construct() { if(session_status() !== PHP_SESSION_ACTIVE){ session_start(); } } public function getToken():string { if(empty($_SESSION[$this->sessionKey])){ $_SESSION[$this->sessionKey] = bin2hex(random_bytes(32)); } return $_SESSION[$this->sessionKey]; } public function isTokenValid(?string $token):bool { if(!$token || empty($_SESSION[$this->sessionKey])){ return false; } return hash_equals($_SESSION[$this->sessionKey], $token); } public function invalidateToken():void { unset($_SESSION[$this->sessionKey]); } public function getCsrfInput():string { $token = $this->getToken(); return '<input type="hidden" name="csrf_token" value="' . htmlspecialchars($token, ENT_QUOTES, 'UTF-8').'">'; } } ?>
.
Vous avez un projet professionnel ou scolaire et souhaitez maximiser vos chances de réussite ?
Un accompagnement personnalisé peut faire toute la différence. Bénéficiez d’un coaching adapté à vos objectifs, pour avancer avec méthode et confiance.
Réservez votre session d’audit de 30 minutes (gratuite et sans engagement). Nous évaluons ensemble votre situation et comment nous pourrions l’améliorer puissament et rapidement.
Nash-dev.fr
Nash-dev.fr est une plateforme conçue pour offrir un accès à des formations de qualité dans le domaine de la tech, incluant la programmation d'applications, le développement web, l'IA, et bien plus encore. Avec des cours adaptés à tous les niveaux, Nash-dev.fr propose des tutoriels vidéo, des parcours de formation complets, ainsi qu'un suivi personnalisé pour les apprenants. Que vous soyez débutant ou expert, vous y trouverez tout ce dont vous avez besoin pour développer vos compétences techniques et rester à jour dans les dernières innovations du secteur.
Conditions d’utilisation Politique de Confidentialité
Copyright 2024 © Tous droits réservés.