Utilisez la directive location
Utilisez la directive location dans le fichier de configuration Nginx pour restreindre l'accès à des répertoires ou des fichiers spécifiques. Pour interdire l'accès aux fichiers .php, vous pouvez ajouter le code suivant à la directive d'emplacement
location ~ \.php$ { deny all; }
Dans le code ci-dessus, il représente le caractère d'échappement, . représente n'importe quel caractère et $ représente la fin. Par conséquent, la fonction de ce code est d’utiliser des expressions régulières pour faire correspondre tous les fichiers se terminant par .php, puis d’en interdire l’accès.
Il est à noter que cette méthode ne convient que pour interdire l'accès aux fichiers php et n'est pas valide pour les autres types de fichiers.
Utilisez la directive if
La méthode pour interdire l'accès aux fichiers .php n'est pas seulement la directive location, mais aussi la directive if. Dans le fichier de configuration Nginx, vous pouvez ajouter le code suivant :
if ($request_uri ~* “\.php”) { return 403; }
La signification du code ci-dessus est que lorsque l'URI demandé contient .php, 403 (Accès refusé) est renvoyé.
Cependant, l'utilisation des instructions if présente certains risques, qui peuvent entraîner des failles de sécurité. Par conséquent, il est recommandé d’utiliser la directive if uniquement lorsque cela est nécessaire.
Modifier le fichier de configuration de l'interpréteur PHP
En plus d'interdire l'accès aux fichiers .php dans le fichier de configuration Nginx, on peut également obtenir le même effet en modifiant le fichier de configuration de l'interpréteur PHP.
Dans le fichier de configuration php.ini de l'interpréteur PHP, vous pouvez ajouter le code suivant :
security.limit_extensions = .php
La fonction de ce code est de limiter uniquement les fichiers .php à exécuter, et les autres types de fichiers seront interdits d'exécution . De cette manière, des risques de sécurité inutiles peuvent être évités.
Il est à noter que cette méthode ne convient que pour interdire l'exécution de fichiers php et n'est pas valide pour accéder aux fichiers .php.
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!