cvs: phpdoc-ca /features safe-mode.xml

[email protected] ("Eduard Capell Brufau") Tue, 30 Aug 2005 18:47:25 -0000
Newsgroups php.doc.ca
Message-ID <cvseduardcapell1125427645@cvsserver>
--eduardcapell1125427645
Content-Type: text/plain

eduardcapell		Tue Aug 30 14:47:25 2005 EDT

  Added files:                 
    /phpdoc-ca/features	safe-mode.xml 
  Log:
  
  
--eduardcapell1125427645
Content-Type: text/plain
Content-Disposition: attachment; filename="eduardcapell-20050830144725.txt"


http://cvs.php.net/co.php/phpdoc-ca/features/safe-mode.xml?r=1.1&p=1
Index: phpdoc-ca/features/safe-mode.xml
+++ phpdoc-ca/features/safe-mode.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.63 Maintainer: eduardcapell Status: ready -->
 <chapter id="features.safe-mode">
  <title>Mode Segur</title>

  <para>
   El mode segur de PHP és un intent de resoldre el problema de seguretat d'un
   servidor compartit. Arquitecturalment parlant, no és correcte de resoldre
   aquest problema al nivell del PHP, però com que les alternatives al nivell
   del servidor web o del sistema operatiu no són gaire realistes, molta gent,
   especialment ISPs, utilitzen el mode segur per ara.
  </para>

  <sect1 id="ini.sect.safe-mode">
   <title>Seguretat i Mode Segur</title>
   <para>
    <table>
     <title>Directives de Configuració de Seguretat i Mode Segur</title>
     <tgroup cols="4">
      <thead>
       <row>
        <entry>Nom</entry>
        <entry>Valor per Defecte</entry>
        <entry>Modificable</entry>
        <entry>Historial</entry>
       </row>
      </thead>
      <tbody>
      <row>
       <entry>safe_mode</entry>
       <entry>"0"</entry>
       <entry>PHP_INI_SYSTEM</entry>
       <entry></entry>
      </row>
      <row>
       <entry>safe_mode_gid</entry>
       <entry>"0"</entry>
       <entry>PHP_INI_SYSTEM</entry>
       <entry>Disponible des de PHP 4.1.0.</entry>
      </row>
      <row>
       <entry>safe_mode_include_dir</entry>
       <entry>NULL</entry>
       <entry>PHP_INI_SYSTEM</entry>
       <entry>Disponible des de PHP 4.1.0.</entry>
      </row>
      <row>
       <entry>safe_mode_exec_dir</entry>
       <entry>""</entry>
       <entry>PHP_INI_SYSTEM</entry>
       <entry></entry>
      </row>
      <row>
       <entry>safe_mode_allowed_env_vars</entry>
       <entry>"PHP_"</entry>
       <entry>PHP_INI_SYSTEM</entry>
       <entry></entry>
      </row>
      <row>
       <entry>safe_mode_protected_env_vars</entry>
       <entry>"LD_LIBRARY_PATH"</entry>
       <entry>PHP_INI_SYSTEM</entry>
       <entry></entry>
      </row>
      <row>
       <entry>open_basedir</entry>
       <entry>NULL</entry>
       <entry>PHP_INI_SYSTEM</entry>
       <entry></entry>
      </row>
      <row>
       <entry>disable_functions</entry>
       <entry>""</entry>
       <entry>només &php.ini;</entry>
       <entry>Disponible des de PHP 4.0.1.</entry>
      </row>
      <row>
       <entry>disable_classes</entry>
       <entry>""</entry>
       <entry>només &php.ini;</entry>
       <entry>Disponible des de PHP 4.3.2.</entry>
      </row>
      </tbody>
     </tgroup>
    </table>
    Per més detalls i definició de les constants PHP_INI_*, vegeu 
    <function>ini_set</function>.
   </para>
   
   &ini.descriptions.title;
   
   <para>
    <variablelist>
     <varlistentry id="ini.safe-mode">
      <term>
       <parameter>safe_mode</parameter>
       <type>booleà</type>
      </term>
      <listitem>
       <para>
        Per activar el mode segur de PHP. Llegiu-vos el capítol sobre 
        <link linkend="security">Seguretat</link> per més informació.
       </para>
      </listitem>
     </varlistentry>
     <varlistentry id="ini.safe-mode-gid">
      <term>
       <parameter>safe_mode_gid</parameter>
       <type>booleà</type>
      </term>
      <listitem>
       <para>
        Per defecte, el Mode Segur fa una comprovació de comparació de l'UID
        quan obre un fitxer. Si voleu relaxar aquesta restricció a una
        comparació de GID, activeu safe_mode_gid.
        Serveix per utilitzar la comprovació de <literal>UID</literal> 
        (&false;) o <literal>GID</literal> (&true;) en els accessos a fitxers.
       </para>
      </listitem>
     </varlistentry>
     <varlistentry id="ini.safe-mode-include-dir">
      <term>
       <parameter>safe_mode_include_dir</parameter>
       <type>cadena</type>
      </term>
      <listitem>
       <para>
        Les comprovacions <literal>UID</literal>/<literal>GID</literal> no
        s'activaran quan s'incloguin fitxers d'aquesta carpeta i les seves
        subcarpetes (la carpeta ha de ser a 
        <link linkend="ini.include-path">include_path</link> o, en cas contrari,
        caldrà especificar la ruta complerta en incloure els fitxers).
       </para>
       <simpara>
        Des de PHP 4.2.0, aquesta directiva pot utilitzar dos punts (punt i coma
        en Windows) per a separar rutes de la mateixa manera que es fa en la
        directiva <link linkend="ini.include-path">include_path</link>, per tal
        d'indicar una ruta múltiple.
       </simpara>
       <simpara>
        La restricció especificada és de fet un prefix, no pas un nom de
        directori. Això vol dir que "safe_mode_include_dir = /dir/incl" també
        permet l'accés a "/dir/include" and "/dir/incls" si és que existeixen.
        Si voleu restringir l'accés de forma exclusiva al directori indicat,
        acabeu la cadena de text de la ruta amb una barra. Per exemple: 
        "safe_mode_include_dir = /dir/incl/"
       </simpara>
       <simpara>
        Si el valor d'aquesta directiva és buit, no és possible d'incloure
        fitxers amb diferents <literal>UID</literal>/<literal>GID</literal> des
        de PHP 4.2.3 i PHP 4.3.3. En versions anteriors, es podien incloure tots 
        els fitxers.
       </simpara>
      </listitem>
     </varlistentry>
     <varlistentry id="ini.safe-mode-exec-dir">
      <term>
       <parameter>safe_mode_exec_dir</parameter>
       <type>cadena</type>
      </term>
      <listitem>
       <para>
        Si el PHP s'utilitza en mode segur, la funció 
        <function>system</function> i la resta de
        <link linkend="ref.exec">funcions que executen programes del 
        sistema</link> no arrencaran programes que no estiguin en aquest
        directori. Heu d'utilitzar <literal>/</literal> com a separador de 
        directoris en tots els entorns, incloent-hi Windows.
       </para>
      </listitem>
     </varlistentry>
     <varlistentry id="ini.safe-mode-allowed-env-vars">
      <term>
       <parameter>safe_mode_allowed_env_vars</parameter>
       <type>cadena</type>
      </term>
      <listitem>
       <para>
        El fet d'establir certes variables d'entorn podria ser una potencial
        font de problemes de seguretat. Aquesta directiva contè una llista de
        prefixos (delimitats per dos punts). En el Mode Segur, l'usuari només
        podrà modificar les variables d'entorn els noms de les quals comencin 
        pels prefixos indicats aquí. Per defecte, els usuaris només poden 
        establir variables d'entorn que comencin per PHP_ (per exemple, 
        PHP_FOO=BAR).
       </para>
       <note>
        <para>
         Si aquesta directiva és buida, el PHP deixarà que l'usuari pugui
         modificar QUALSEVOL variable d'entorn!
        </para>
       </note>
      </listitem>
     </varlistentry>
     <varlistentry id="ini.safe-mode-protected-env-vars">
      <term>
       <parameter>safe_mode_protected_env_vars</parameter>
       <type>cadena</type>
      </term>
      <listitem>
       <para>
        Aquesta directiva contè una llista (delimitada per dos punts) de 
        variables d'entorn que l'usuari final no podrà canviar utilitzant la 
        funció <function>putenv</function>. Aquestes variables estaran 
        protegides encara que la variable safe_mode_allowed_env_vars indiqui que
        poden ser modificades.
       </para>
      </listitem>
     </varlistentry>
      <varlistentry id="ini.open-basedir">
      <term>
       <parameter>open_basedir</parameter>
       <type>cadena</type>
      </term>
      <listitem>
       <para>
        Limita els fitxers que poden ser oberts per PHP a l'arbre de directoris
        especificat, incloent-s'hi a sí mateix. Aquesta directiva 
        <emphasis>NO</emphasis> es veu afectada pel fet que el Mode Segur
        estigui activat o no. 
       </para>
       <para>
        Quan una seqüència intenta obrir un fitxer amb, per exemple, les
        funcions <function>fopen</function> o <function>gzopen</function>,+
        es comprovarà la ubicació del fitxer. Quan el fitxer sigui fora de
        l'arbre de directoris especificat, el PHP no l'obrirà. Els enllaços
        simbòlics són resolts abans de la comprovació, de manera que no és
        possible d'evitar aquesta restricció amb enllaços simbòlics.
       </para>
       <para>
        El valor especial <systemitem class="constant">.</systemitem> indica que
        el directori de treball de la seqüència s'utilitzarà com a directori
        base. Això, però, és una mica perillós, ja que el directori de treball
        es pot canviar fàcilment amb la funció <function>chdir</function>.
       </para>
       <para>
        Al fitxer <filename>httpd.conf</filename>, open_basedir pot ser
        inhabilitat (per exemple, per alguns hosts virtuals)
        <link linkend="configuration.changes.apache">de la mateixa 
        manera</link> que qualsevol altra directiva de configuració amb 
        "php_admin_value open_basedir none".
       </para>
       <para>
        En Windows, separeu els directoris amb un punt i coma. En tots els
        altres sistemes, separeu els directoris amb dos punts. Igual que si fos
        un mòdul d'Apache, els directoris fills de les rutes d'open_basedir
        s'hereten automàticament.
       </para>
       <para> 
         La restricció especificada amb open_basedir és un prefix, i no pas un
         nom de directori. Això vol dir que "open_basedir = /dir/incl" també
         permetrà l'accés a "/dir/include" i a "/dir/incls", si és que
         existeixen. Si el que voleu és restringir l'accés exclusivament al
         directori especificat, finalitzeu-lo amb una barra. Per exemple: 
         "open_basedir = /dir/incl/"
       </para>
       <note>
        <para>
         El suport per múltiples directoris es va afegir a la versió 3.0.7.
        </para>
       </note>
       <para>
        Per defecte es permet l'accés a tots els fitxers.
       </para>
      </listitem>
     </varlistentry>
     <varlistentry id="ini.disable-functions">
      <term>
       <parameter>disable_functions</parameter>
       <type>cadena</type>
      </term>
      <listitem>
       <simpara>
        Aquesta directiva us permet d'inhabilitar certes funcions per raons de 
        <link linkend="security">security</link>. La cadena de text és una
        llista de noms de funció separats per dos punts. disable_funcions no es
        veu afectat pel <link linkend="ini.safe-mode">Mode Segur</link>.
       </simpara>
       <simpara>
        Aquesta directiva s'ha d'especificar al &php.ini; Per exemple, no podeu
        especificar-la al fitxer &httpd.conf;.
       </simpara>
      </listitem>
     </varlistentry>
     <varlistentry id="ini.disable-classes">
      <term>
       <parameter>disable_classes</parameter>
       <type>cadena</type>
      </term>
      <listitem>
       <simpara>
        Aquesta directiva us permet d'inhabilitar certes classes per raons de 
        <link linkend="security">seguretat</link>. La cadena és una llista de
        noms de classes separats per dos punts. disable_classes no es veu
        afectat pel <link linkend="ini.safe-mode">Mode Segur</link>.
       </simpara>
       <simpara>
        Aquesta directiva s'ha d'especificar al &php.ini; Per exemple, no la 
        podeu especificar al fitxer &httpd.conf;.
       </simpara>
       <note>
        <title>Nota de disponibilitat</title>
        <simpara>
         Aquesta directiva va començar a estar disponible a la versió PHP 4.3.2
        </simpara>
       </note>
      </listitem>
     </varlistentry>
    </variablelist>
   </para>
   <para>
    Vegeu també: <link linkend="ini.register-globals">register_globals</link>,
    <link linkend="ini.display-errors">display_errors</link>, i
    <link linkend="ini.log-errors">log_errors</link>.
   </para>

  <para>
   Quan <link linkend="ini.safe-mode">safe_mode</link> està activat, el PHP
   comprova si el propietari de la seqüència actual és el mateix que el
   propietari del fitxer (o del seu director) tractat per una funció de fitxer.
   Per exemple: 
   <programlisting role="ls">
<![CDATA[
-rw-rw-r--    1 rasmus   rasmus       33 Jul  1 19:20 sequencia.php 
-rw-r--r--    1 root     root       1116 May 26 18:01 /etc/passwd 
]]>
   </programlisting>
   Executant el fitxer sequencia.php 
   <programlisting role="php">
<![CDATA[
<?php
 readfile('/etc/passwd'); 
?>
]]>
   </programlisting>
   provocarà el següent error quan el mode segur estigui activat:
   <screen>
<![CDATA[
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/sequencia.php on line 2
(Avís: Restricció de MODE SEGUR està activa. La seqüència amb uid 500 no té
permisos per accedir al fitxer /etc/passwd que és propietat del uid 0 en
/docroot/sequencia.php a la línia 2)
]]>
   </screen>
  </para>
  <para>
   Això no obstant, hi pot haver entorns on una comprovació estricta 
   d'<literal>UID</literal> no és adequada i es pot realitzar una restricció més
   relaxada, basada en <literal>GID</literal>, que ja sigui suficient.
   Això se suporta a través de l'opció 
   <link linkend="ini.safe-mode-gid">safe_mode_gid</link>. Especificant aquesta
   opció a <literal>On</literal> realitza la comprovació relaxada de 
   <literal>GID</literal>, mentre que si és a <literal>Off</literal> (el seu
   valor per defecte) s'efectua la comprovació per <literal>UID</literal>.
  </para>
  <para>
   Si enlloc de <link linkend="ini.safe-mode">safe_mode</link>, especifiqueu un
   directori en <link linkend="ini.open-basedir">open_basedir</link>, llavors
   totes les operacions de fitxers estaran limitades als fitxers sota el
   directori especificat.
   Per exemple (exemple del fitxer &httpd.conf; d'Apache):
   <programlisting role="ini">
<![CDATA[
<Directory /docroot>
  php_admin_value open_basedir /docroot 
</Directory>
]]>
   </programlisting>
   Si executeu el mateix fitxer sequencia.php amb aquesta configuració de 
   <link linkend="ini.open-basedir">open_basedir</link>, el resultat serà el
   següent: 
   <screen>
<![CDATA[
Warning: open_basedir restriction in effect. File is in wrong directory in 
/docroot/sequencia.php on line 2
(Avís: restricció open_basedir activa. El fitxer és en una ruta incorrecta a
/docroot/sequencia.php a la línia 2)
]]>
   </screen>
  </para>
  <para>
   També podeu inhabilitar funcions individuals. Observeu que la directiva 
   <link linkend="ini.disable-functions">disable_functions</link> no pot ser
   especificada fora del fitxer &php.ini;, la qual cosa vol dir que no podeu 
   inhabilitar funcions segons el virtualhost o el directori, en el fitxer 
   &httpd.conf;.
   Si afegim això al fitxer &php.ini;: 
   <programlisting role="ini">
<![CDATA[
disable_functions readfile,system  
]]>
   </programlisting>
   Llavors obtenim aquesta sortida: 
   <screen>
<![CDATA[
Warning: readfile() has been disabled for security reasons in 
/docroot/sequencia.php on line 2 
(Avís: readfile() ha estat desactivat per raons de seguretat a 
/docroot/sequencia.php a la línai 2)
]]>
   </screen>
  </para>
  <warning>
   <para>
    Per suposat, aquestes restriccions no són vàlides, en els binaris executats
   </para>
  </warning>
 </sect1>

  <sect1 id="features.safe-mode.functions">
   <title>Funcions restringides/inhabilitades pel mode segur</title>
   <para>
    Aquest és un llistat (probablement incomplert i incorrecte) de les funcions
    limitades pel <link linkend="features.safe-mode">mode segur</link>.
    <!-- TODO: add &note.sm.*; to the functions mentioned here.
    That entity should link to this section -->
    <table>
     <title>Funcions limitades pel mode segur</title>
     <tgroup cols="2">
      <thead>
       <row>
        <entry>Funció</entry>
        <entry>Limitació</entry>
       </row>
      </thead>
      <tbody>
       <row>
        <entry><function>dbmopen</function></entry>
        <entry>&sm.uidcheck;</entry>
       </row>
       <row>
        <entry><function>dbase_open</function></entry>
        <entry>&sm.uidcheck;</entry>
       </row>
       <row>
        <entry><function>filepro</function></entry>
        <entry>&sm.uidcheck;</entry>
       </row>
       <row>
        <entry><function>filepro_rowcount</function></entry>
        <entry>&sm.uidcheck;</entry>
       </row>
       <row>
        <entry><function>filepro_retrieve</function></entry>
        <entry>&sm.uidcheck;</entry>
       </row>
       <row>
        <entry>ifx_*</entry>
        <entry>restriccions sql_safe_mode, (!= safe mode)</entry>
        <!-- TODO: more info on sql-safe-mode -->
       </row>
       <row>
        <entry>ingres_*</entry>
        <entry>restriccions sql_safe_mode, (!= safe mode)</entry>
        <!-- TODO: more info on sql-safe-mode -->
       </row>
       <row>
        <entry>mysql_*</entry>
        <entry>restriccions sql_safe_mode, (!= safe mode)</entry>
        <!-- TODO: more info on sql-safe-mode -->
       </row>
       <row>
        <entry><function>pg_lo_import</function></entry>
        <entry>&sm.uidcheck;</entry>
        <!-- source TODO: there is no PHP-warning for that safe-mode-restriction -->
       </row>
       <row>
        <entry><function>posix_mkfifo</function></entry>
        <entry>&sm.uidcheck.dir;</entry>
       </row>
       <row>
        <entry><function>putenv</function></entry>
        <entry>Fa cas de les directives safe_mode_protected_env_vars i 
        safe_mode_allowed_env_vars. Vegeu també la documentació sobre 
        <function>putenv</function></entry>
        <!-- TODO: document those directives in chapters/config.xml -->
       </row>
       <row>
        <entry><function>move_uploaded_file</function></entry>
        <entry>&sm.uidcheck; <!-- TODO: check this --></entry>
       </row>

       <!-- TODO: from here on, add warning to the function itself -->

       <row>
        <entry><function>chdir</function></entry>
        <entry>&sm.uidcheck.dir;</entry>
       </row>
       <row>
        <entry><function>dl</function></entry>
        <entry>&sm.disabled;</entry>
       </row>
       <row>
        <entry><link linkend="language.operators.execution">l'operador 
        accent obert</link></entry>
        <entry>&sm.disabled;</entry>
       </row>
       <row>
        <entry><function>shell_exec</function> (equivalent funcional de 
        l'operador accent obert)</entry>
        <entry>&sm.disabled;</entry>
       </row>
       <row>
        <entry><function>exec</function></entry>
        <entry>Només serà possible d'executar els executables dins de les rutes
        indicades per 
        <link linkend="ini.safe-mode-exec-dir">safe_mode_exec_dir</link>. Per
        raons pràctiques, actualment no es permet d'utilitzar el component 
        <literal>..</literal> en la ruta d'un executable. La funció 
        <function>escapeshellcmd</function> s'executa sobre l'argument d'aquesta
        funció.</entry>
       </row>
       <row>
        <entry><function>system</function></entry>
        <entry>Només serà possible d'executar els executables dins de les rutes
        indicades per 
        <link linkend="ini.safe-mode-exec-dir">safe_mode_exec_dir</link>. Per
        raons pràctiques, actualment no es permet d'utilitzar el component 
        <literal>..</literal> en la ruta d'un executable. La funció 
        <function>escapeshellcmd</function> s'executa sobre l'argument d'aquesta
        funció.</entry>
       </row>
       <row>
        <entry><function>passthru</function></entry>
        <entry>Només serà possible d'executar els executables dins de les rutes
        indicades per 
        <link linkend="ini.safe-mode-exec-dir">safe_mode_exec_dir</link>. Per
        raons pràctiques, actualment no es permet d'utilitzar el component 
        <literal>..</literal> en la ruta d'un executable. La funció 
        <function>escapeshellcmd</function> s'executa sobre l'argument d'aquesta
        funció.</entry>
       </row>
       <row>
        <entry><function>popen</function></entry>
        <entry>Només serà possible d'executar els executables dins de les rutes
        indicades per 
        <link linkend="ini.safe-mode-exec-dir">safe_mode_exec_dir</link>. Per
        raons pràctiques, actualment no es permet d'utilitzar el component 
        <literal>..</literal> en la ruta d'un executable. La funció 
        <function>escapeshellcmd</function> s'executa sobre l'argument d'aquesta
        funció.</entry>
        <!-- TODO: not sure. popen uses a completely different implementation
        Don't know why, don't know whether it's behaving the same -->
       </row>
       <row>
        <entry><function>fopen</function></entry>
        <entry>&sm.uidcheck.dir;</entry>
       </row>
       <row>
        <entry><function>mkdir</function></entry>
        <entry>&sm.uidcheck.dir;</entry>
       </row>
       <row>
        <entry><function>rmdir</function></entry>
        <entry>&sm.uidcheck.dir;</entry>
       </row>
       <row>
        <entry><function>rename</function></entry>
        <entry>&sm.uidcheck; &sm.uidcheck.dir;<!-- on the old name only, it seems. Is rename preventing moving files? --></entry>
       </row>
       <row>
        <entry><function>unlink</function></entry>
        <entry>&sm.uidcheck; &sm.uidcheck.dir;</entry>
       </row>
       <row>
        <entry><function>copy</function></entry>
        <entry>&sm.uidcheck; &sm.uidcheck.dir; (tant per 
        l'<parameter>source</parameter> com per la 
        <parameter>destinació</parameter>) </entry>
       </row>
       <row>
        <entry><function>chgrp</function></entry>
        <entry>&sm.uidcheck;</entry>
       </row>
       <row>
        <entry><function>chown</function></entry>
        <entry>&sm.uidcheck;</entry>
       </row>
       <row>
        <entry><function>chmod</function></entry>
        <entry>&sm.uidcheck; A més, no podeu especificar els bits 
        SUID, SGIF i el bit enganxós.</entry>
       </row>
       <row>
        <entry><function>touch</function></entry>
        <entry>&sm.uidcheck; &sm.uidcheck.dir;</entry>
       </row>
       <row>
        <entry><function>symlink</function></entry>
        <entry>&sm.uidcheck; &sm.uidcheck.dir; (nota: només es comprova la 
        destinació)</entry>
       </row>
       <row>
        <entry><function>link</function></entry>
        <entry>&sm.uidcheck; &sm.uidcheck.dir; (nota: només es comprova la 
        destinació)</entry>
       </row>
       <row>
        <entry><function>apache_request_headers</function></entry>
        <entry>En mode segur, les capçaleres que comencen per 'authorization'
        (majúscules o minúscules) no seran retornades.</entry>
       </row>
       <row>
        <entry><function>header</function></entry>
        <entry>En mode segur, l'uid de la seqüència s'afegirà a la part del  
        <literal>reialme</literal> de la capçalera 
        <literal>WWW-Authenticate</literal> si establiu aquesta capçalera 
        (això s'utilitza per Autenticació HTTP).</entry>
       </row>
       <row>
        <entry><link linkend="features.http-auth">PHP_AUTH variables</link></entry>
        <entry>
         En mode segur, les variables <varname>PHP_AUTH_USER</varname>,
         <varname>PHP_AUTH_PW</varname>, i <varname>AUTH_TYPE</varname>
         no estan disponibles en <varname>$_SERVER</varname>. De tota manera,
         encara podeu utilitzar <varname>REMOTE_USER</varname> per l'USUARI.
         (nota: només té efecte des de PHP 4.3.0)
        </entry>
       </row>
       <row>
        <entry>
         <function>highlight_file</function>,
         <function>show_source</function>
        </entry>
        <entry>
         &sm.uidcheck; &sm.uidcheck.dir; (nota: només té efecte des de 
         PHP 4.2.1)
        </entry>
       </row>
       <row>
        <entry>
         <function>parse_ini_file</function>
        </entry>
        <entry>
         &sm.uidcheck; &sm.uidcheck.dir; (nota: només té efecte des de 
         PHP 4.2.1)
        </entry>
       </row>
       <row>
        <entry>
         <function>set_time_limit</function>
        </entry>
        <entry>
         No té efecte quan el PHP s'executa en &safemode;.
        </entry>
       </row>
       <row>
        <entry>
         <link linkend="ini.max-execution-time">max_execution_time</link>
        </entry>
        <entry>
         No té efecte quan el PHP s'executa en &safemode;.
        </entry>
       </row>
       <row>
        <entry>
         <function>mail</function>
        </entry>
        <entry>
         En mode segur, el cinquè paràmetre està inhabilitat. (nota: només té
         efecte des de PHP 4.2.3)
        </entry>
       </row>
       <row>
        <entry>Qualsevol funció que utilitzi 
        <filename>php4/main/fopen_wrappers.c</filename>
        </entry>
        <entry>??</entry>
       </row>
      </tbody>
     </tgroup>
    </table>
   </para>
  </sect1>

 </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
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

--eduardcapell1125427645--