Maison >développement back-end >Problème PHP >Comment désactiver l'affichage des fichiers de répertoire en php

Comment désactiver l'affichage des fichiers de répertoire en php

PHPz
PHPzoriginal
2023-04-11 10:32:371093parcourir

Dans le processus quotidien de développement PHP, nous devons souvent afficher la structure des répertoires de fichiers dans le navigateur pour trouver les fichiers ou les ressources requis. Cependant, cela expose également la structure du répertoire à des visiteurs non autorisés, ce qui présente certaines menaces de sécurité. Par conséquent, interdire l’affichage des fichiers de répertoire dans les navigateurs est devenu une mesure de sécurité fondamentale. En PHP, il existe des moyens simples de supprimer l'affichage des fichiers de répertoire.

Méthode 1 : Configurer dans le fichier .htaccess

La méthode la plus courante consiste à ajouter une règle au fichier .htaccess du site Web pour empêcher le navigateur d'afficher les fichiers du répertoire. Le fichier .htaccess est un fichier de configuration pour le serveur Web Apache. Il peut définir des paramètres dans un hôte virtuel ou un répertoire spécifique, qui peuvent contrôler des paramètres tels que les autorisations, les pare-feu, l'accès au répertoire, etc.

Vous pouvez ajouter la règle interdisant les fichiers de répertoire au fichier .htaccess en utilisant le code suivant :

Désactiver l'affichage des fichiers de répertoire par le navigateur

Options -Index

Le code ci-dessus empêchera le navigateur d'accéder aux fichiers de répertoire, c'est-à-dire , lors de l'accès à un répertoire, un message d'erreur "403 Forbidden" sera renvoyé.

Méthode 2 : Ajouter du code au fichier PHP

En plus de configurer le fichier .htaccess, vous pouvez également intégrer du code dans le fichier PHP pour obtenir le même effet. Dans le fichier PHP qui doit interdire les fichiers répertoire, ajoutez le code suivant :

//Supprimer l'affichage de la liste des fichiers répertoire
header('Content-Type: text/html; charset=utf-8'
if(is_dir($_SERVER['PATH_INFO'])) {

header('HTTP/1.1 403 Forbidden');
echo 'Access Denied';
exit();

}
?>

Dans le code ci-dessus, déterminez d'abord si le chemin consulté est un répertoire. Si tel est le cas, un message d'erreur « 403 Forbidden » est envoyé et un message « Accès refusé » est affiché, empêchant le navigateur d'afficher la liste des fichiers du répertoire.

Méthode 3 : Modifier la configuration du serveur Web

Enfin, il existe une autre méthode pour modifier la configuration du serveur Web. Pour le serveur web Apache, des modifications peuvent être apportées dans le fichier de configuration par défaut d'Apache /etc/httpd/conf/httpd.conf. Recherchez le code suivant :

Options Indexes FollowSymLinks
AllowOverride All
Require all granted

Dans les paramètres après "Options", supprimez l'option "Index" pour empêcher le navigateur de s'afficher le document d'annuaire.

Résumé

Qu'il soit configuré dans le fichier .htaccess, en intégrant du code dans le fichier PHP, ou en modifiant la configuration du serveur web, vous pouvez empêcher le navigateur d'afficher la liste des fichiers du répertoire. Cette mesure de sécurité peut protéger notre structure de répertoires et nos ressources de fichiers contre tout accès et téléchargement illégal. Par conséquent, lors de l’écriture de programmes PHP, il est recommandé de prendre ces mesures pour renforcer la protection de la sécurité Web.

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