Table des matières
Configuration de sécurité Nginx: seul l'accès aux fichiers index.php est autorisé
Scénarios et exigences
Plan de configuration
Maison développement back-end tutoriel php Comment configurer uniquement l'accès aux fichiers index.php dans nginx?

Comment configurer uniquement l'accès aux fichiers index.php dans nginx?

Apr 01, 2025 am 07:57 AM
css nginx

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 ...
}
Copier après la connexion

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 ...

}
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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

<🎜>: Grow A Garden - Guide de mutation complet
3 Il y a quelques semaines By DDD
<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel Java
1664
14
Tutoriel PHP
1269
29
Tutoriel C#
1249
24
HTML: The Structure, CSS: The Style, Javascript: Le comportement HTML: The Structure, CSS: The Style, Javascript: Le comportement Apr 18, 2025 am 12:09 AM

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.

Comment démarrer un conteneur par Docker Comment démarrer un conteneur par Docker Apr 15, 2025 pm 12:27 PM

É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".

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

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").

Résoudre les problèmes de mise en cache dans Craft CMS: Utilisation du plug-in Wiejeben / Craft-Laravel-MIX Résoudre les problèmes de mise en cache dans Craft CMS: Utilisation du plug-in Wiejeben / Craft-Laravel-MIX Apr 18, 2025 am 09:24 AM

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.

Comment créer des conteneurs pour Docker Comment créer des conteneurs pour Docker Apr 15, 2025 pm 12:18 PM

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]

Comment optimiser les performances du site Web: expériences et leçons tirées de l'utilisation de la bibliothèque minifée Comment optimiser les performances du site Web: expériences et leçons tirées de l'utilisation de la bibliothèque minifée Apr 17, 2025 pm 11:18 PM

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.

Comment générer du HTML par sublime Comment générer du HTML par sublime Apr 16, 2025 am 09:03 AM

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 vs CSS et JavaScript: Comparaison des technologies Web HTML vs CSS et JavaScript: Comparaison des technologies Web Apr 23, 2025 am 12:05 AM

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.

See all articles