Comment restreindre l'accès direct aux fichiers non-Index.php sur les serveurs Apache ?

Barbara Streisand
Libérer: 2024-10-25 02:23:29
original
891 Les gens l'ont consulté

How to Restrict Direct Access to Non-Index.php Files on Apache Servers?

Contrôle de l'accès direct aux fichiers non-Index.php

Arrière-plan :

Pour améliorer Pour des raisons de sécurité, il peut être souhaitable d'empêcher l'accès direct à tous les fichiers PHP d'un dossier, à l'exception du fichier index.php. Cela protège les données sensibles d'un accès direct et garantit que des pages spécifiques sont accessibles uniquement via des canaux autorisés.

Solution :

Les serveurs Web Apache fournissent un mécanisme pour contrôler l'accès aux fichiers. en fonction de leur extension. En tirant parti du fichier .htaccess, il est possible de refuser l'accès direct à tous les fichiers PHP sauf index.php.

Étapes :

  1. Vérifier Mod_access : Assurez-vous que mod_access est activé dans la configuration Apache.
  2. Créez un fichier .htaccess : Créez un fichier .htaccess dans le répertoire où résident les fichiers .php.
  3. Ajouter un contrôle d'accès :Ajoutez le code suivant au fichier .htaccess :
Order Deny,Allow
Deny from all
Allow from 127.0.0.1

<Files /index.php>
    Order Allow,Deny
    Allow from all
</Files>
Copier après la connexion

Explication :

Le La première directive refuse l'accès à tous les fichiers à l'exception de index.php à partir de toutes les adresses IP. La deuxième directive autorise spécifiquement l'accès à index.php à partir de toutes les adresses IP.

Considérations supplémentaires :

  • Pour autoriser l'accès à d'autres types de fichiers, utilisez le < ;FilesMatch> directif. Par exemple, pour autoriser l'accès aux fichiers CSS et JS, ajoutez le code suivant :
<FilesMatch ".*\.(css|js)$">
    Order Allow,Deny
    Allow from all
</FilesMatch>
Copier après la connexion
  • Évitez d'utiliser l'option ou directives dans les fichiers .htaccess pour Apache 2.4 ou version ultérieure.

Mise à jour pour Apache 2.4 :

Dans Apache 2.4, la syntaxe du contrôle d'accès a changé. La syntaxe correcte pour cette solution est :

Order deny,allow
Deny from all
Require all granted
Copier après la connexion

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!

source:php
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!