vous Enseigné protection CSRF

  CSRF (Cross-Site Request forgecy): falsification de requêtes intersites, est une attaque de réseau commun. Qu'est-ce que CSRF et comment défendre?

principe CSRF

 FLOW attaque CSRF ci-dessous:

 En bref, les attaquants ont volé votre statut juridique, et votre nom pour envoyer des requêtes malveillantes telles que: envoyer votre nom et e-mails, utiliser votre argent pour acheter quelque chose, mettez votre argent du compte ...... conséquences désastreuses.

défense FCRR

 la défense CSRF la manière sur les catégories suivantes:

  • En referer, code de jeton d'authentification ou soumis par l'utilisateur est détecté.
  • Essayez de ne pas exposer des informations de confidentialité des utilisateurs dans la page de liens.
  • Pour les utilisateurs de modifier ou de supprimer la meilleure après l'opération d'utilisation.
  • Évitez toute station cookie générique, un ensemble strict domaine de cookie.

La solution Django route

 middleware Django (CsrfMiddleware) à la protection CSRF. Spécifique fonctionne comme suit:

  demande de modification en cours de traitement, ajouter un champ de formulaire caché à toute forme POST, en utilisant le nom csrfmiddlewaretoken, la valeur de hachage ainsi que l'ID de session, d'une clé. Si l'ID de session est pas définie, les résultats intermédiaires ne modifiera pas la réponse, donc une demande de session n'est pas utilisé la perte des performances est négligeable.

  Pour toute demande POST entrant contenant la collection cookie de session, il vérifiera s'il csrfmiddlewaretoken et correcte. Dans le cas contraire, l'utilisateur recevra une erreur 403HTTP. 403 contenu de la page d'erreur est détectée demandes inter-domaines camouflage, demande de résiliation.

 A noter également que, afin d'éviter demande de conversion non-HTML, les contrôles middleware avant son en-tête Content-Type en réponse aux résultats d'édition. Seulement marqué comme text / html ou application / xml + xhtml page sera modifiée. Vient ensuite l'utilisation.

POST formulaire soumettre le formulaire

1. Ajouter Middleware

 Dans MIDDLEWARE_CLASSES settings.py dans le middleware « django.middleware.csrf.CsrfViewMiddleware » plus, il peut être utilisé après avoir ajouté CSRF protection globale (la valeur par défaut a été ajouté);

 Vous pouvez également être ajouté à la fonction de vue @csrf_protect contrôle de vue unique, mais ce n'est pas une méthode recommandée, car cela peut manquer.

 Remarque: Le middleware doit être effectué après SessionMiddleware, et doit donc figurer dans la liste CsrfMiddleware après SessionMiddleware. En même temps, il faut aussi donner lieu à une réponse au traitement de la réponse avant la compression ou la décompression, et doit donc être effectué après CsrfMiddleware GZipMiddleware.

  2. Définir le modèle

 {%}% Csrf_token plus la soumission de formulaire POST

 Ou une consistance de forme et le format, ajouter sous la forme dans le formulaire

  3. La fonction de vue fournie

 Il existe trois méthodes couramment utilisées:

  csrftoken générés manuellement et appliqués au contexte du modèle:

  utilisation RequestContext

  rendre directement

 CSRF Si vous ne cochez pas la valeur du cookie

 L'ajout de la fonction correspondant décorateur @csrf_exempt

Ajax soumet une requête POST

1. paramètres fixés au-dessus

2. Définir le modèle

 Il y a deux façons:

  html balise script modèle au Canada (Note: Vous ne pouvez pas définir le fichier js)

 tête de demande de réglage

 plug-ins d'utilisation de cookies

https://github.com/js-cookie/js-cookie/

 La première est plus simple.

3. Fonction vue disponible supra

Autre moteur de template (combiné avec jinja2)

1. les paramètres et la fonction de vue fournies ci-dessus

2. Paramètres du modèle

 Jinja ne reconnaît pas {%} csrf_token%, à condition comme suit

 ou

3. Ibid paramètres d'affichage

Commentaires phrase en Septembre propre marque
Précédent
Panneau d'affichage: Changzhou Jinling route joint primaire du Sichuan Shuangma, escadrons de la mort Xiahe l'achat de titres financiers
Prochain
Diable = inclinaison beauté morbide merci admettez qu'il est une sorte de beauté
07,06 | réfléchie Matin: blessure ne peut pas manger « chose gras », les mains et les pieds froids sont maison froide? Vieille rumeur collective TCM These rumeur sept!
Lorsque la nouvelle réduction de 99 pour cent des coûts d'énergie
Aujourd'hui, vous « poulet » encore? Dix principaux dérivés Jeux
Lourd bonne attaque! Protection de l'environnement ou Novembre pour mener le marché ces actions décollent bientôt
Et un coupé en parité, vendu pour 120000 salariés sont heureux!
conversion Mercedes-Benz Vito personnalisé mises à jour personnalisées intérieur
Assassins contrôle de la foudre, « porte Shu » secrets d'exposition professionnelle Qingcheng derrière
Médias reprise de suspension empreinte de six mois, Wenzhou aide KO sociétés cotées sont-lose lose?
autel FAW Hongqi, 100 magasin 4S pour briser le marché
super course de l'Inde pour seulement 350000 yuans, pour voir la puissance intérieure aussi bien acheter la chance!
BMW 530 gainé de cuir changement de couleur intérieure