


Comment configurer uniquement l'accès aux fichiers index.php dans nginx?
Apr 01, 2025 am 07:57 AMConfiguration 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

Undress AI Tool
Images de déshabillage gratuites

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.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à 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

CSS bloque le rendu de la page car les navigateurs affichent le CSS en ligne et le CSS externe comme des ressources clés par défaut, en particulier avec les feuilles de styles importées, les grandes quantités de CSS en ligne et les styles de requête multimédia non optimisés. 1. Extraire CSS critique et l'intégrez-la dans HTML; 2. Retard Chargement CSS non critique via JavaScript; 3. Utilisez des attributs multimédias pour optimiser le chargement tel que les styles d'impression; 4. Comprimer et fusionner CSS pour réduire les demandes. Il est recommandé d'utiliser des outils pour extraire les CS de clé, combiner le chargement asynchrone rel = "précharge" et utiliser le chargement retardé des médias raisonnablement pour éviter une division excessive et un contr?le de script complexe.

AutoPrefixer est un outil qui ajoute automatiquement les préfixes des fournisseurs aux attributs CSS en fonction de la portée du navigateur cible. 1. Il résout le problème de maintenir manuellement les préfixes avec des erreurs; 2. Travaillez le formulaire de plug-in PostCSS, analyse CSS, analysez les attributs qui doivent être préfixés et générer du code en fonction de la configuration; 3. Les étapes d'utilisation incluent l'installation de plug-ins, la définition de la liste de navigateurs et leur permettant dans le processus de construction; 4. Les notes ne comprennent pas manuellement les préfixes, le maintien des mises à jour de la configuration, les préfixes pas tous des attributs, et il est recommandé de les utiliser avec le préprocesseur.

AnimatingsvgWithcSSisposiblesUsingKeyframesForBasicanimations andTransitionsForInterActiveFets.1.User @ KeyframestodeFineanimationStagesForpropertiesLikescale, Opacity, andcolor.2.ApplytheMoverHoverorState-B

THECONCON-GRADIENT () FURMATINGEnSSSCREATSCICLULARD GRODIENTSTHATATATECOLORSTOPSAROUNDacentralpoint.1.IiSIDEALFORPIECHARTS, PROGRESSINDICATEURS, Colorweels, andDecorativeBackgrounds.2.itworksByDefiningColOrStopSatSpiecificangles, FactuallylyTartingfromadefinin

La portée des propriétés personnalisées de CSS dépend du contexte de leur déclaration, les variables globales sont généralement définies dans: Root, tandis que les variables locales sont définies dans un sélecteur spécifique pour la composontisation et l'isolement des styles. Par exemple, les variables définies dans la classe de cartes. Ne sont disponibles que pour des éléments qui correspondent à la classe et à leurs enfants. Les meilleures pratiques incluent: 1. Utilisation: racine pour définir des variables globales telles que la couleur du sujet; 2. Définir les variables locales à l'intérieur du composant pour implémenter l'encapsulation; 3. évitez de déclarer à plusieurs reprises la même variable; 4. Faites attention aux problèmes de couverture qui peuvent être causés par la spécificité du sélecteur. De plus, les variables CSS sont sensibles à la casse et doivent être définies avant utilisation pour éviter les erreurs. Si la variable n'est pas définie ou si la référence échoue, la valeur de retour ou la valeur par défaut initiale sera utilisée. Le débogage peut être fait par le biais du développeur du navigateur

Mobile-FirstcssDesigrequequetsettingTheViewportMetatag, UsingrelativeUnits, StylingFromsMallScreensup, OptimizingTypographicAndTouchtarget.First, addtiControlsaling.second, use%, em, orreminsteadofpixel

Il existe trois fa?ons de créer un rotateur de chargement CSS: 1. Utilisez le rotateur de base des frontières pour obtenir une animation simple via HTML et CSS; 2. Utilisez un rotateur personnalisé de plusieurs points pour atteindre l'effet de saut à travers différents temps de retard; 3. Ajoutez un rotateur dans le bouton et basculez les classes via JavaScript pour afficher l'état de chargement. Chaque approche souligne l'importance des détails de conception tels que la couleur, la taille, l'accessibilité et l'optimisation des performances pour améliorer l'expérience utilisateur.

Lorsque Nginx conna?t une erreur "ToomyOpenFiles", c'est généralement parce que le système ou le processus a atteint la limite du descripteur de fichier. Les solutions incluent: 1. Augmenter les limites douces et dures du système Linux, définir les paramètres pertinents de Nginx ou exécuter les utilisateurs dans /etc/security/limits.conf; 2. Ajustez la valeur Worker_Connections de Nginx pour s'adapter au trafic attendu et assurer la configuration surchargée; 3. Augmentez la limite supérieure des descripteurs de fichiers au niveau du système fs.file-max, edit /etc/sysctl.conf et appliquez des modifications; 4. Optimiser l'utilisation du journal et des ressources et réduisez l'utilisation de la poignée des fichiers inutile, comme l'utilisation d'Open_L
