


Comment configurer uniquement l'accès aux fichiers index.php dans nginx?
Configuration de sécurité Nginx: seul l'accès aux fichiers index.php est autorisé
Cet article décrit comment configurer Nginx, autoriser l'accès aux fichiers index.php
et refuser l'accès à tous les autres fichiers ou à des fichiers PHP spécifiques. Cela améliore la sécurité du serveur et empêche l'accès non autorisé.
Scénarios et exigences
En supposant qu'il existe plusieurs fichiers PHP (tels que index.php
et test.php
) dans le répertoire du serveur, nous devons nous assurer que seul index.php
est accessible et que d'autres fichiers PHP et autres ressources sont bloqués.
Plan de configuration
Nous fournirons deux solutions de configuration pour répondre aux différents besoins:
Schéma 1: Seul l'accès à /index.php
est autorisé, toutes les autres demandes sont refusées
Cette solution est la plus stricte et toute autre demande sauf /index.php
sera refusée. Cela convient aux scénarios avec des exigences de sécurité extrêmement élevées.
serveur { Écoutez 80; server_name 192.168.16.86; root / home / wwwroot / web; Inclut Active-php.conf; location = /index.php { # Process index.php request try_files $ uri $ uri / /index.php?$Query_string; } emplacement / { nier tout; } # ... Les autres blocs de localisation (tels que le traitement statique des ressources) peuvent être conservés ou supprimés au besoin ... }
Solution 2: Autoriser l'accès à /index.php
et les ressources statiques et rejeter d'autres fichiers PHP
Cette solution permet d'accéder aux ressources statiques (telles que des images, CSS, JS, etc.), et ne permet d'accéder qu'à index.php
, niant l'accès à d'autres fichiers PHP. Ceci est plus courant dans les applications pratiques.
serveur { Écoutez 80; server_name 192.168.16.86; root / home / wwwroot / web; Inclut Active-php.conf; emplacement / { # Gérer la demande de ressources statique try_files $ uri $ uri / = 404; } Emplacement ~ \ .php $ { nier tout; } location = /index.php { # Process index.php request try_files $ uri $ uri / /index.php?$Query_string; } # ... Les autres blocs d'emplacement (tels que le cache de ressources statiques) peuvent être conservés ou ajustés au besoin ... }
Instructions de configuration:
-
location = /index.php
: correspond exactement au chemin/index.php
et ne gère que les demandes du fichier. -
location ~ \.php$
: utilisez des expressions régulières pour correspondre à tous les fichiers se terminant par.php
. -
deny all
: toutes les demandes sont rejetées. -
try_files
: essayez de trouver un fichier ou un répertoire et effectuer des opérations ultérieures si elle n'est pas trouvée.
L'option que vous choisissez dépend de vos besoins de sécurité spécifiques. La solution 1 est plus sécurisée, mais les restrictions sont plus strictes; La solution 2 est à la fois la sécurité et la fonctionnalité. Veuillez sélectionner et ajuster la configuration en fonction de la situation réelle. Assurez-vous de tester la configuration pour vous assurer qu'elle répond à vos attentes. N'oubliez pas que la configuration sûre doit être prudente et il est recommandé de le tester dans un environnement de test avant de l'appliquer à l'environnement de production.
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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Sujets chauds











Les rôles de HTML, CSS et JavaScript dans le développement Web sont: 1. HTML définit la structure de la page Web, 2. CSS contrôle le style de page Web, et 3. JavaScript ajoute un comportement dynamique. Ensemble, ils construisent le cadre, l'esthétique et l'interactivité des sites Web modernes.

Étapes de démarrage du conteneur Docker: Tirez l'image du conteneur: Exécutez "Docker Pull [Mirror Name]". Créer un conteneur: utilisez "Docker Create [Options] [Mirror Name] [Commandes et paramètres]". Démarrez le conteneur: exécutez "docker start [nom de conteneur ou id]". Vérifiez l'état du conteneur: vérifiez que le conteneur s'exécute avec "Docker PS".

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Lorsque vous développez des sites Web à l'aide de CRAFTCMS, vous rencontrez souvent des problèmes de mise en cache de fichiers de ressources, en particulier lorsque vous mettez fréquemment à mettre à jour les fichiers CSS et JavaScript, les anciennes versions des fichiers peuvent toujours être mises en cache par le navigateur, ce qui fait que les utilisateurs ne voient pas les derniers changements de temps. Ce problème affecte non seulement l'expérience utilisateur, mais augmente également la difficulté du développement et du débogage. Récemment, j'ai rencontré des problèmes similaires dans mon projet, et après une exploration, j'ai trouvé le plugin wiejeben / artist-laravel-mix, qui a parfaitement résolu mon problème de mise en cache.

Créer un conteneur dans Docker: 1. Tirez l'image: docker pull [Nom du miroir] 2. Créer un conteneur: docker run [Options] [Nom du miroir] [Commande] 3. Démarrez le conteneur: docker start [Nom du conteneur]

En train de développer un site Web, l'amélioration du chargement des pages a toujours été l'une de mes principales priorités. Une fois, j'ai essayé d'utiliser la bibliothèque Miniify pour compresser et fusionner les fichiers CSS et JavaScript afin d'améliorer les performances du site Web. Cependant, j'ai rencontré de nombreux problèmes et défis pendant l'utilisation, ce qui m'a finalement fait réaliser que Miniify pourrait ne plus être le meilleur choix. Ci-dessous, je partagerai mon expérience et comment installer et utiliser MINIFY via Composer.

Il existe deux façons de générer du code HTML dans le texte sublime: en utilisant le plugin Emmet, vous pouvez générer des éléments HTML en entrant une abréviation et en appuyant sur la touche de onglet, ou utiliser un modèle de fichier HTML prédéfini qui fournit une structure HTML de base et d'autres fonctionnalités telles que des snippets de code, des fonctionnalités automatique et des snippets EmMet.

HTML, CSS et JavaScript sont les technologies de base pour la création de pages Web modernes: 1. HTML définit la structure de la page Web, 2. CSS est responsable de l'apparence de la page Web, 3. JavaScript fournit une dynamique de page Web et une interactivité, et ils travaillent ensemble pour créer un site Web avec une bonne expérience d'utilisation.
