Services webmasters
Partenaires
Jeux concours gratuits
 
Caractéristiques
<<<
Securité et Safe Mode Fonctions désactivées par le Safe Mode
>>>

6.7 Safe mode
6 Caractéristiques
 Manuel PHP

->Securité et Safe Mode
Fonctions désactivées par le Safe Mode

6.7.1 Securité et Safe Mode

Nom Par défaut Modifiable
safe_mode "0" PHP_INI_SYSTEM
safe_mode_gid "0" PHP_INI_SYSTEM
safe_mode_include_dir NULL PHP_INI_SYSTEM
safe_mode_exec_dir "" PHP_INI_SYSTEM
safe_mode_allowed_env_vars PHP_ PHP_INI_SYSTEM
safe_mode_protected_env_vars LD_LIBRARY_PATH PHP_INI_SYSTEM
open_basedir NULL PHP_INI_SYSTEM
disable_functions "" PHP_INI_SYSTEM
Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à ini_set .

Voici un éclaircissement sur l'utilisation des directives de configuration.

    Voir aussi register_globals , display_errors et log_errors

    Lorsque safe mode est actif, PHP vérifie que le propriétaire du script courant est le même que le propriétaire des fichiers qui seront manipulés par ce script. Par exemple, dans a la situation suivante :

    
    -rw-rw-r--    1 rasmus   rasmus       33 Jul  1 19:20 script.php 
    -rw-r--r--    1 root     root       1116 May 26 18:01 /etc/passwd
    exécuter le script script.php
    
    <?php
    readfile
    ('/etc/passwd');
    ?>
    générera cette erreur, si le Safe Mode est activé :
    Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not
    allowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2

    Cependant, il arrive que la vérification faite avec le nom du propriétaire du fichier soit trop restrictive, et qu'une vérification sur le nom du groupe soit suffisante. C'est une autre fonctionnalité supportée par la directive safe_mode_gid . En lui donnant la valeur de On , les vérifications seront faites sur le GID , alors qu'en lui laissant sa valeur par défaut de Off , les vérifications seront faites sur le UID .

    Si vou utilisez la directive open_basedir au lieu du safe mode , alors les manipulations seront limitées aux fichiers situés dans les dossiers spécifiés. Par exemple :

    
    <Directory /docroot>
      php_admin_value open_basedir /docroot
    </Directory>
    Si vous exécutez le script script.php ci-dessus avec la configuration d'open_basedir le résultat sera l'affichage suivant :
    Warning: open_basedir restriction in effect. File is in wrong directory in
    /docroot/script.php on line 2

    Vous pouvez aussi désactiver individuellement les fonctions. Par exemple, en ajoutant cette ligne dans le fichier php.ini :

    
    disable_functions readfile,system
    
    toute utilisation des fonctions readfile et system générera l'affichage suivant :
    Warning: readfile() has been disabled for security reasons in
    /docroot/script.php on line 2

    Sommaire :

    << Securité et Safe Mode >>
    Caractéristiques Safe mode Fonctions désactivées par le Safe Mode
    Services webmasters
    Les manuels
     
    CoursPHP.com - Reproduction interdite -