Maison  >  Article  >  développement back-end  >  Comment restreindre l'accès direct aux fichiers PHP (sauf Index.php) ?

Comment restreindre l'accès direct aux fichiers PHP (sauf Index.php) ?

DDD
DDDoriginal
2024-10-24 10:54:291003parcourir

How to Restrict Direct Access to PHP Files (Except Index.php)?

Empêcher l'accès direct aux fichiers .php

Sécuriser les fichiers .php contre l'accès direct est crucial pour la protection des sites Web. Cet article répond à la nécessité de restreindre l'accès à tous les fichiers .php à l'exception de index.php, en garantissant que les fichiers ne sont accessibles que via PHP include.

Solution :

Pour refuser accès direct à tous les fichiers .php sauf index.php, suivez ces étapes :

  1. Assurez-vous que mod_access est installé sur votre serveur Apache.
  2. Ajoutez le code suivant à votre fichier .htaccess situé dans le même dossier que vos fichiers PHP :
Order Deny,Allow
Deny from all
Allow from 127.0.0.1

<Files /index.php>
    Order Allow,Deny
    Allow from all
</Files>

Explication :

  • La première directive, Order Deny,Allow, refuse l'accès à tous les fichiers par défaut.
  • Autoriser à partir de 127.0.0.1 crée une exception pour localhost, autorisant l'accès aux fichiers depuis la machine locale.
  • La deuxième directive, . .. , applique spécifiquement les règles à index.php, permettant l'accès à ce fichier à partir de toutes les adresses IP.

Considérations supplémentaires :

  • Pour autoriser l'accès à des fichiers spécifiques, tels que .css ou .js, utilisez le code suivant :
<FilesMatch ".*\.(css|js)$">
    Order Allow,Deny
    Allow from all
</FilesMatch>
  • Notez que vous ne pouvez pas utiliser ou directives dans les fichiers .htaccess pour obtenir ce résultat.

Attention :

  • Utilisez la solution ci-dessus avec précaution, car elle pourrait restreindre l'accès aux éléments essentiels fichiers, tels que des images et des scripts.

Mise à jour pour Apache 2.4 :

Pour Apache 2.4, utilisez Exiger que tout soit refusé au lieu de Refuser de tous dans le premier directive.

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