Cameroun Actuel

Comprendre les jetons CSRF de Django : Ce qu’ils sont et pourquoi vous en avez besoin

Django est un framework web Python que vous pouvez utiliser pour construire des applications web sécurisées. Il offre de nombreuses fonctionnalités pour aider les développeurs en matière de sécurité. L’une de ces fonctionnalités est le jeton CSRF, essentiel pour protéger les formulaires contre les attaques de type Cross-Site Request Forgery.

Qu’est-ce qu’un jeton CSRF ?

Un jeton CSRF est un dispositif de sécurité qui protège les applications web contre les attaques de type Cross-Site Request Forgery (CSRF). Il permet au serveur d’application de vérifier si la soumission d’un formulaire provient d’un navigateur authentique ou si elle a été falsifiée par un pirate.

Les jetons CSRF sont des entrées de formulaire qui permettent de suivre la session d’un utilisateur. Le cadre d’application web côté serveur d’un site web génère généralement des jetons CSRF pour chaque session utilisateur unique. Le serveur vérifie si le jeton est correct chaque fois qu’un utilisateur soumet un formulaire. Les jetons CSRF sont généralement constitués de chaînes et de nombres aléatoires, ce qui rend leurs valeurs imprévisibles.

Génération de jetons CSRF dans Django

La fonction get_token() La fonction get_token génère aléatoirement des jetons CSRF. Pour trouver cette fonction, naviguez jusqu’à la page csrf.py dans votre environnement virtuel Python. La structure du dossier doit ressembler à ceci :

 env/

└── Lib/

    └── site-packages/

        └── django/

            └── middleware/

                └── csrf.py

À l’intérieur de ce fichier, vous trouverez le fichier get_token() qui renvoie le jeton. Django utilise le masquage des données pour protéger la valeur du jeton contre les pirates.

Par défaut, Django active la protection CSRF pour votre site en ajoutant la fonction django.middleware.csrf.CsrfViewMiddleware dans le fichier LOGICIEL MIXTE liste de vos settings.py . Tout ce que vous avez à faire est d’ajouter {% csrf_token %} à votre POST formes. Sans ajouter {% csrf_token %}, vous obtiendrez un 403 (interdit) lorsque vous soumettez un formulaire.

Page d'erreur 403 interdite de Django en mode développement

Lorsque vous ajoutez {% csrf_token %} à votre formulaire, il crée automatiquement un champ de saisie caché avec le nom csrfmiddlewaretokenqui contient la valeur du jeton CSRF masqué. Le serveur utilise cette valeur pour déterminer si la soumission du formulaire est authentique. Vous pouvez vérifier la valeur de ce champ caché en consultant la source de la page ou en utilisant les outils de développement de votre navigateur.

champ de saisie caché du jeton csrf ajouté par django

Lorsque vous lancez votre site avec le formulaire, Django crée automatiquement un cookie de navigateur appelé csrftoken. Ce cookie permet de suivre l’activité de l’utilisateur sur le site et d’identifier chaque utilisateur de manière unique.

Lorsque l’utilisateur soumet le formulaire, le serveur compare la…

Lire la suite de l’article sur encause.fr

Cameroun Actuel
Me suivre

Laisser un commentaire

Dernières nouvelles

Suivez-nous !

Lire aussi

Activer les Notifications OK Non Merci