


Pratique de rédaction de politiques Nginx : prévenir les attaques XSS
Avec le développement continu de la technologie Web, les problèmes de sécurité sont devenus de plus en plus importants, parmi lesquels les attaques XSS sont extrêmement courantes. Les attaquants injectent du code dans le site Web afin que les utilisateurs soient attaqués lors de leur navigation sur le site Web, divulguant ainsi leur vie privée ou menant des escroqueries par phishing. Par conséquent, dans le développement Web moderne, la prévention des attaques XSS est devenue une exigence fondamentale.
Afin de prévenir les attaques XSS, nous devons rédiger certaines politiques pour guider le travail du serveur Nginx. Ces politiques peuvent inclure l'inspection des entrées, l'inspection des sorties, le filtrage des cookies, etc. Ce qui suit sera expliqué avec des exemples.
- Vérification des entrées
La vérification des entrées fait référence à la vérification des données saisies par l'utilisateur, notamment si le type de paramètres est correct, le filtrage des caractères spéciaux, etc. Pour Nginx, la vérification des entrées peut être implémentée à l'aide d'une combinaison de scripts Lua et d'expressions régulières. Voici un exemple :
location / { access_by_lua_block { local args = ngx.req.get_uri_args() for key, val in pairs(args) do if type(val) == "table" then for k,v in pairs(val) do if string.match(v, "%W") then ngx.exit(ngx.HTTP_FORBIDDEN) end end else if string.match(val, "%W") then ngx.exit(ngx.HTTP_FORBIDDEN) end end end } }
Dans le code ci-dessus, nous obtenons les paramètres transmis par l'utilisateur via la méthode GET via le script Lua, et utilisons des expressions régulières pour déterminer si les paramètres contiennent des caractères spéciaux. Si des caractères spéciaux sont présents, une page d'erreur 403 est renvoyée.
- Vérification de sortie
La vérification de sortie fait référence à la vérification du contenu de sortie du programme back-end, notamment si les balises, les attributs, Javascript, etc. sont sûrs. Pour Nginx, la directive sub_filter du module NGX_LUA peut être utilisée pour implémenter la vérification de sortie. Voici un exemple :
location / { proxy_pass http://backend; sub_filter_types application/json; sub_filter 'bad-word' 'good-word'; sub_filter_last_modified on; sub_filter_once off; }
Dans le code ci-dessus, nous activons la directive sub_filter pour vérifier les données JSON renvoyées par le programme backend. Si les données renvoyées par le programme backend contiennent un « mauvais mot », remplacez-le par « bon mot ».
- Filtrage des cookies
Le filtrage des cookies fait référence à la vérification des cookies définis par l'utilisateur pour assurer leur sécurité. Pour Nginx, le script Lua peut être utilisé pour implémenter le filtrage des cookies. Voici un exemple :
location / { access_by_lua_block { local h = ngx.req.get_headers() local ck = h.cookie if ck ~= nil then if string.match(ck, "%W") then ngx.exit(ngx.HTTP_FORBIDDEN) end end } }
Dans le code ci-dessus, nous utilisons le script Lua pour obtenir le cookie défini dans l'en-tête de la requête HTTP et utilisons des expressions régulières pour déterminer si le cookie contient des caractères spéciaux. Si des caractères spéciaux sont présents, une page d'erreur 403 est renvoyée.
Ce qui précède est la pratique de rédaction de politiques Nginx pour prévenir les attaques XSS. Bien entendu, il existe de nombreux autres aspects à prendre en compte dans les applications pratiques, tels que la sécurité des en-têtes HTTP, la défense contre l'injection SQL, etc. Par conséquent, pendant le processus de développement, des configurations ciblées doivent être effectuées en fonction de la situation réelle pour améliorer la sécurité des applications Web.
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)

Pour permettre au serveur Tomcat d'accéder au réseau externe, vous devez : modifier le fichier de configuration Tomcat pour autoriser les connexions externes. Ajoutez une règle de pare-feu pour autoriser l'accès au port du serveur Tomcat. Créez un enregistrement DNS pointant le nom de domaine vers l'adresse IP publique du serveur Tomcat. Facultatif : utilisez un proxy inverse pour améliorer la sécurité et les performances. Facultatif : configurez HTTPS pour une sécurité accrue.

Étapes pour exécuter ThinkPHP Framework localement : Téléchargez et décompressez ThinkPHP Framework dans un répertoire local. Créez un hôte virtuel (facultatif) pointant vers le répertoire racine ThinkPHP. Configurez les paramètres de connexion à la base de données. Démarrez le serveur Web. Initialisez l'application ThinkPHP. Accédez à l'URL de l'application ThinkPHP et exécutez-la.

Pour résoudre l'erreur "Bienvenue sur nginx!", vous devez vérifier la configuration de l'hôte virtuel, activer l'hôte virtuel, recharger Nginx, si le fichier de configuration de l'hôte virtuel est introuvable, créer une page par défaut et recharger Nginx, puis le message d'erreur. disparaîtra et le site Web sera affiché normalement.

La conversion d'un fichier HTML en URL nécessite un serveur Web, ce qui implique les étapes suivantes : Obtenir un serveur Web. Configurez un serveur Web. Téléchargez le fichier HTML. Créez un nom de domaine. Acheminez la demande.

Étapes de déploiement de serveur pour un projet Node.js : Préparez l'environnement de déploiement : obtenez l'accès au serveur, installez Node.js, configurez un référentiel Git. Créez l'application : utilisez npm run build pour générer du code et des dépendances déployables. Téléchargez le code sur le serveur : via Git ou File Transfer Protocol. Installer les dépendances : connectez-vous en SSH au serveur et installez les dépendances de l'application à l'aide de npm install. Démarrez l'application : utilisez une commande telle que node index.js pour démarrer l'application ou utilisez un gestionnaire de processus tel que pm2. Configurer un proxy inverse (facultatif) : utilisez un proxy inverse tel que Nginx ou Apache pour acheminer le trafic vers votre application

Les instructions les plus couramment utilisées dans Dockerfile sont : FROM : créer une nouvelle image ou dériver une nouvelle image RUN : exécuter des commandes (installer le logiciel, configurer le système) COPY : copier des fichiers locaux dans l'image ADD : similaire à COPY, il peut automatiquement décompresser tar ou obtenir des fichiers URL CMD : Spécifiez la commande au démarrage du conteneur EXPOSE : Déclarez le port d'écoute du conteneur (mais pas public) ENV : Définissez la variable d'environnement VOLUME : Montez le répertoire hôte ou le volume anonyme WORKDIR : Définissez le répertoire de travail dans le conteneur ENTRYPOINT : spécifiez ce qu'il faut exécuter lorsque le conteneur démarre. Fichier exécutable (similaire à CMD, mais ne peut pas être écrasé)

Oui, Node.js est accessible de l’extérieur. Vous pouvez utiliser les méthodes suivantes : Utilisez Cloud Functions pour déployer la fonction et la rendre accessible au public. Utilisez le framework Express pour créer des itinéraires et définir des points de terminaison. Utilisez Nginx pour inverser les requêtes de proxy vers les applications Node.js. Utilisez des conteneurs Docker pour exécuter des applications Node.js et les exposer via le mappage de ports.

Pour déployer et maintenir avec succès un site Web PHP, vous devez effectuer les étapes suivantes : Sélectionnez un serveur Web (tel qu'Apache ou Nginx) Installez PHP Créez une base de données et connectez PHP Téléchargez le code sur le serveur Configurez le nom de domaine et la maintenance du site Web de surveillance DNS les étapes comprennent la mise à jour de PHP et des serveurs Web, la sauvegarde du site Web, la surveillance des journaux d'erreurs et la mise à jour du contenu.
