Le rôle de l'option open_basedir dans le fichier de configuration PHP

高洛峰
Libérer: 2023-03-04 16:26:02
original
1793 Les gens l'ont consulté

Ce qui suit est la description originale et la configuration par défaut dans php.ini :
; open_basedir, si elle est définie, limite toutes les opérations sur les fichiers au répertoire défini
et ci-dessous. par -répertoire ou
 ; fichier de configuration du serveur Web par hôte virtuel. Cette directive est
 ; *NON* affectée par l'activation ou la désactivation du mode sans échec.
open_basedir =
open_basedir est accessible. par les utilisateurs La portée active du fichier est limitée à une zone spécifiée, généralement le chemin de son répertoire personnel, et le symbole "." peut également être utilisé pour représenter le répertoire actuel. Notez que les restrictions spécifiées avec open_basedir sont en réalité des préfixes et non des noms de répertoire.
Par exemple : Si "open_basedir = /dir/user", alors les répertoires "/dir/user" et "/dir/user1" sont tous deux
accessibles. Donc, si vous souhaitez restreindre l'accès à un répertoire spécifié uniquement, terminez le chemin d'accès par une barre oblique. Par exemple, définissez-le sur :
"open_basedir = /dir/user/"

open_basedir peut également définir plusieurs répertoires en même temps. Utilisez des points-virgules pour séparer les répertoires dans Windows et des
deux points dans n'importe quel. autre système. Lorsqu'il est appliqué au module Apache, le chemin open_basedir dans le répertoire parent est automatiquement hérité.

Il existe trois méthodes pour effectuer des paramètres indépendants pour des utilisateurs spécifiés dans Apache :

(a) La méthode de configuration correspondante du répertoire dans le httpd.conf d'Apache :

php_admin_value open_basedir / usr/local/apache/htdocs/
#Pour définir plusieurs répertoires, vous pouvez vous référer à ce qui suit :
php_admin_value open_basedir /usr/local/apache/htdocs/:/tmp/


(b) La méthode de configuration correspondante de VirtualHost dans le httpd.conf d'Apache :
php_admin_value open_basedir /usr/local/apache/htdocs/
#Pour définir plusieurs répertoires, vous pouvez vous référer à ce qui suit :
php_admin_value open_basedir /var/ www/html/:/var/tmp/

(c) Parce qu'une fois open_basedir défini dans VirtualHost, cet utilisateur virtuel n'héritera plus automatiquement de la valeur du paramètre open_basedir dans php.ini
. Il est difficile d'obtenir des mesures de configuration flexibles, il est donc recommandé de ne pas définir cette restriction dans VirtualHost
. Par exemple, vous pouvez définir open_basedir = .:/tmp/ dans php.ini.
est autorisé à accéder au répertoire actuel. (c'est-à-dire le répertoire où se trouve le fichier de script PHP) et au répertoire /tmp/

Veuillez noter : si le répertoire temporaire de téléchargement des fichiers est défini dans. php.ini est /tmp/, alors vous devez
lors de la configuration de open_basedir Inclure /tmp/, sinon le téléchargement échouera. La nouvelle version de php affichera le message d'avertissement "restriction open_basedir en vigueur"
, mais le message d'avertissement. La fonction move_uploaded_file() peut toujours supprimer avec succès le fichier téléchargé dans le répertoire /tmp/, je ne sais pas
Est-ce une vulnérabilité ou une nouvelle fonctionnalité

Configuration pour la version ShopEx472 :

open_basedir = "D:/Server;../catalog;../include;../../ home;../syssite;../templates;../langue;../../langue ;../../../langue;../../../../langue"

Pour plus d'articles liés au rôle de l'option open_basedir dans le fichier de configuration PHP, veuillez faites attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal