Maison  >  Article  >  développement back-end  >  Comment empêcher l'accès direct aux fichiers PHP dans Apache, à l'exception d'Index.php ?

Comment empêcher l'accès direct aux fichiers PHP dans Apache, à l'exception d'Index.php ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-25 02:01:02660parcourir

How to Prevent Direct PHP File Access in Apache Except for Index.php?

Refuser l'accès direct aux fichiers PHP, sauf pour Index.php

Protéger vos fichiers PHP contre tout accès direct non autorisé est crucial pour la sécurité de votre site Web application. Cet article présente une solution pour refuser l'accès à tous les fichiers .php à l'exception de index.php, garantissant que les utilisateurs ne peuvent accéder aux autres fichiers PHP que via PHP include.

Configuration Apache

Pour mettre en œuvre cette restriction, vous pouvez suivre ces étapes :

  1. Assurez-vous que mod_access est activé dans votre configuration Apache.
  2. Ajoutez le code suivant à votre fichier .htaccess :
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 refuse l'accès à tous les fichiers du Web.
  • L'exclusion dans le < Fichiers> La section autorise explicitement l'accès à index.php.
  • L'ordre des directives est essentiel pour garantir que index.php est accessible tandis que les autres fichiers PHP sont refusés.

Supplémentaire Considérations

  • Si vous devez autoriser l'accès à des types de fichiers spécifiques, vous pouvez utiliser directives dans le répertoire section. Par exemple, vous pouvez autoriser l'accès aux fichiers CSS et JS :
<FilesMatch ".*\.(css|js)$">
    Order Allow,Deny
    Allow from all
</FilesMatch>
  • Évitez d'utiliser ou directives pour le contrôle d'accès dans les fichiers .htaccess.

Mise à jour pour Apache 2.4

Dans Apache 2.4, la syntaxe du contrôle d'accès a changé. Remplacez la directive « Refuser de tous » par « Exiger que tout soit refusé » pour obtenir le même effet.

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