dams            Wed Jul 11 05:16:05 2001 EDT

  Added files:                 
    /phpdoc/fr/features safe-mode.xml 
  Log:
  Added safe-mode.
  

Index: phpdoc/fr/features/safe-mode.xml
+++ phpdoc/fr/features/safe-mode.xml
 <chapter id="features.safe-mode">
  <title>Safe mode</title>
  <para>
   Le "Safe Mode" est le mode de s&eacute;curit&eacute; de PHP : une solution au 
probl&egrave;me
   de partage de PHP sur un serveur. Ce syst&egrave;me p&ecirc;che au niveau de 
l'architecture
   car il n'est pas correct de tenter de r&eacute;soudre ce probl&egrave;me au niveau
   de PHP, mais les solutions alternatives bas&eacute;es sur le serveur web et l'OS
   ne sont pas r&eacute;alistes. De nombreux acteurs, notamment les fournisseurs
   d'h&eacute;bergement, utilise le "Safe Mode".
  </para>
  <para>
   Les directives de configuration qui contr&ocirc;lent le safe mode sont :
   <programlisting role="ini">
safe_mode = Off
open_basedir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
disable_functions =
   </programlisting>
  </para>
  <para>
   Lore que safe mod est actif, PHP v&eacute;rifie que le propri&eacute;taire du script
   courant est le m&ecirc;me que le propri&eacute;taire de fichier qui seront 
manipul&eacute;
   par ce script. Par exemple, si on a la situation suivante :
   <programlisting role="ls">
-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
   </programlisting>
   Ex&eacute;cuter le script <filename>script.php</filename>
   <programlisting role="php">
&lt;?php
 readfile('/etc/passwd');
?&gt;
   </programlisting>
   g&eacute;n&eacute;rera cette erreur, si le safe mode est activ&eacute; :
   <programlisting role="php">
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
   </programlisting>
  </para>
  <para>
   Si vou utilisez la directive open_basedir au lieu du safe mode, alors les
   manipulations seront limit&eacute;es aux fichiers situ&eacute;s dans les dossiers
   sp&eacute;cifi&eacute;s. Par exemple :
   <programlisting role="ini">
&lt;Directory /docroot&gt;
php_admin_value open_basedir /docroot
&lt;/Directory&gt;
   </programlisting>
   Si vous ex&eacute;cutez le script <filename>script.php</filename> ci-dessus avec
   la configuration d'open_basedir le r&eacute;sultat sera l'affichage suivant :
   <programlisting role="php">
Warning: open_basedir restriction in effect. File is in wrong directory in
/docroot/script.php on line 2
   </programlisting>
  </para>
  <para>
   Vous pouvez aussi d&eacute;sactiver individuellement les fonctions. Par exemple,
   en ajoutant cette ligne dans le fichier <filename>php.ini</filename> :
   <programlisting role="ini">
disable_functions readfile,system
   </programlisting>
   toute utilisation des fonctions  <function>readfile<function> et
   <function>system<function> g&eacute;n&eacute;rera l'affichage suivant :
   <programlisting role="php">
Warning: readfile() has been disabled for security reasons in
/docroot/script.php on line 2
   </programlisting>
  </para>
 </chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->


Reply via email to