


Une introduction à la méthode Tornado pour prévenir les attaques intersites en Python
Cet article vous présente la méthode de Tornado pour prévenir les attaques intersites en Python. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
La falsification de requêtes intersites (CSRF ou XSRF) est une utilisation malveillante d'un site Web. Grâce à CSRF, les attaquants peuvent usurper l'identité de l'utilisateur et effectuer des opérations malveillantes à l'insu de l'utilisateur.
1. Principe d'attaque CSRF
La figure suivante montre le principe de base du CSRF. Site1 est un site Web présentant des vulnérabilités CSRF et SIte2 est un site Web malveillant comportant des attaques.
Le contenu de l'image ci-dessus est analysé comme suit :
L'utilisateur a visité pour la première fois le Site1, un site Web présentant des vulnérabilités CSRF, et s'est connecté avec succès et les cookies obtenus. Après cela, toute la visite de l'utilisateur sur Site1 portera le cookie de Site1, elle est donc considérée comme une opération valide par Site1.
À ce moment-là, l'utilisateur a visité le Site2, un site au comportement offensant, et la page de retour du Site2 contenait un lien pour visiter le Site1 pour des opérations malveillantes, mais il était déguisé en contenu légitime , par exemple, le lien hypertexte suivant ressemble à une information de loterie, mais il souhaite en réalité soumettre une demande de retrait au site Site1
<a> 三百万元抽奖,免费拿 </a>
Une fois que l'utilisateur clique sur le lien malveillant, et envoie une requête au site Site1 sans le savoir. Étant donné que l'utilisateur s'est déjà connecté au Site1 et ne s'est pas déconnecté, lorsque le Site1 reçoit la demande de l'utilisateur et le cookie qui l'accompagne, il considérera la demande comme une demande normale envoyée par l'utilisateur. À ce stade, l’objectif du site malveillant a été atteint.
2. Utilisez Tornado pour empêcher les attaques CSRF
Afin d'empêcher les attaques CSRF, chaque requête doit inclure une valeur de paramètre en tant que valeur de paramètre. stockage correspondant pour le jeton La valeur correspondante dans le cookie.
Les applications Tornado peuvent fournir des jetons à la page via un en-tête de cookie et un élément de formulaire HTML caché. De cette façon, lorsque le formulaire d'une page légitime est soumis, il inclura les valeurs du formulaire et les cookies stockés. Si les deux correspondent, la demande d’approbation de la demande Tornado est valide.
L'activation de la fonction de prévention CSRF de Tornado nécessite deux étapes.
[1] Passer le paramètre xsrf_cookies=True lors de l'instanciation de tornado.web.Application, soit :
application=tornado.web.Application([ (r'/',MainHandler), ], cookie_secret='DONT_LEAK_SECRET', xsrf_cookies=True, )
ou :
settings={ "cookie_secret":"DONT_LEAK_SECRET", "xsrf_cookies":True } application=tornado.web.Application([ (r'/',MainHandler), ],**settings)
lors de tornade. Lorsque web.Application doit initialiser trop de paramètres, vous pouvez transmettre des paramètres nommés sous la forme d'un dictionnaire de paramètres comme cet exemple
[2] Dans chaque fichier modèle avec expression HTML, ajoutez la balise de fonction xsrf_form_html() , tels que :
Le {% module xsrf_form_html() %} joue ici le rôle d'ajouter des éléments cachés au formulaire pour empêcher les requêtes cross-sites.
La prise en charge sécurisée des cookies et le cadre de prévention XSRF réduisent considérablement la charge des développeurs d'applications. Sans eux, les développeurs doivent réfléchir à de nombreuses mesures de prévention détaillées, les fonctionnalités de sécurité intégrées de Tornado sont donc également très utiles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP et Python ont leurs propres avantages et inconvénients, et le choix dépend des besoins du projet et des préférences personnelles. 1.Php convient au développement rapide et à la maintenance des applications Web à grande échelle. 2. Python domine le domaine de la science des données et de l'apprentissage automatique.

Docker utilise les fonctionnalités du noyau Linux pour fournir un environnement de fonctionnement d'application efficace et isolé. Son principe de travail est le suivant: 1. Le miroir est utilisé comme modèle en lecture seule, qui contient tout ce dont vous avez besoin pour exécuter l'application; 2. Le Système de fichiers Union (UnionFS) empile plusieurs systèmes de fichiers, ne stockant que les différences, l'économie d'espace et l'accélération; 3. Le démon gère les miroirs et les conteneurs, et le client les utilise pour l'interaction; 4. Les espaces de noms et les CGROUP implémentent l'isolement des conteneurs et les limitations de ressources; 5. Modes de réseau multiples prennent en charge l'interconnexion du conteneur. Ce n'est qu'en comprenant ces concepts principaux que vous pouvez mieux utiliser Docker.

Une formation efficace des modèles Pytorch sur les systèmes CentOS nécessite des étapes, et cet article fournira des guides détaillés. 1. Préparation de l'environnement: Installation de Python et de dépendance: le système CentOS préinstalle généralement Python, mais la version peut être plus ancienne. Il est recommandé d'utiliser YUM ou DNF pour installer Python 3 et Mettez PIP: sudoyuMupDatePython3 (ou sudodnfupdatepython3), pip3install-upradepip. CUDA et CUDNN (accélération GPU): Si vous utilisez Nvidiagpu, vous devez installer Cudatool

Activer l'accélération du GPU Pytorch sur le système CentOS nécessite l'installation de versions CUDA, CUDNN et GPU de Pytorch. Les étapes suivantes vous guideront tout au long du processus: CUDA et CUDNN Installation détermineront la compatibilité de la version CUDA: utilisez la commande NVIDIA-SMI pour afficher la version CUDA prise en charge par votre carte graphique NVIDIA. Par exemple, votre carte graphique MX450 peut prendre en charge CUDA11.1 ou plus. Téléchargez et installez Cudatoolkit: visitez le site officiel de Nvidiacudatoolkit et téléchargez et installez la version correspondante selon la version CUDA la plus élevée prise en charge par votre carte graphique. Installez la bibliothèque CUDNN:

Python et JavaScript ont leurs propres avantages et inconvénients en termes de communauté, de bibliothèques et de ressources. 1) La communauté Python est amicale et adaptée aux débutants, mais les ressources de développement frontal ne sont pas aussi riches que JavaScript. 2) Python est puissant dans les bibliothèques de science des données et d'apprentissage automatique, tandis que JavaScript est meilleur dans les bibliothèques et les cadres de développement frontaux. 3) Les deux ont des ressources d'apprentissage riches, mais Python convient pour commencer par des documents officiels, tandis que JavaScript est meilleur avec MDNWEBDOCS. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

Lors de la sélection d'une version Pytorch sous CentOS, les facteurs clés suivants doivent être pris en compte: 1. CUDA Version Compatibilité GPU Prise en charge: si vous avez NVIDIA GPU et que vous souhaitez utiliser l'accélération GPU, vous devez choisir Pytorch qui prend en charge la version CUDA correspondante. Vous pouvez afficher la version CUDA prise en charge en exécutant la commande nvidia-SMI. Version CPU: Si vous n'avez pas de GPU ou que vous ne souhaitez pas utiliser de GPU, vous pouvez choisir une version CPU de Pytorch. 2. Version Python Pytorch

CENTOS L'installation de Nginx nécessite de suivre les étapes suivantes: Installation de dépendances telles que les outils de développement, le devet PCRE et l'OpenSSL. Téléchargez le package de code source Nginx, dézippez-le et compilez-le et installez-le, et spécifiez le chemin d'installation AS / USR / LOCAL / NGINX. Créez des utilisateurs et des groupes d'utilisateurs de Nginx et définissez les autorisations. Modifiez le fichier de configuration nginx.conf et configurez le port d'écoute et le nom de domaine / adresse IP. Démarrez le service Nginx. Les erreurs communes doivent être prêtées à prêter attention, telles que les problèmes de dépendance, les conflits de port et les erreurs de fichiers de configuration. L'optimisation des performances doit être ajustée en fonction de la situation spécifique, comme l'activation du cache et l'ajustement du nombre de processus de travail.

Traitez efficacement les données Pytorch sur le système CentOS, les étapes suivantes sont requises: Installation de dépendance: Mettez d'abord à jour le système et installez Python3 et PIP: sudoyuMupdate-anduhuminstallpython3-ysudoyuminstallpython3-pip-y, téléchargez et installez Cudatoolkit et Cudnn à partir du site officiel de Nvidia selon votre version de Centos et GPU. Configuration de l'environnement virtuel (recommandé): utilisez conda pour créer et activer un nouvel environnement virtuel, par exemple: condacreate-n
