<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/session.setup.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'session.configuration.php',
    1 => 'Configuration &agrave; l\'ex&eacute;cution',
    2 => 'Configuration &agrave; l\'ex&eacute;cution',
  ),
  'up' => 
  array (
    0 => 'session.setup.php',
    1 => 'Installation/Configuration',
  ),
  'prev' => 
  array (
    0 => 'session.installation.php',
    1 => 'Installation',
  ),
  'next' => 
  array (
    0 => 'session.constants.php',
    1 => 'Constantes pr&eacute;-d&eacute;finies',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/session/ini.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="session.configuration" class="section">
 <h2 class="title">Configuration à l&#039;exécution</h2>
 <p class="simpara">Le comportement de ces fonctions est
affecté par la configuration dans le fichier <var class="filename">php.ini</var>.</p>
 <p class="para">
  <table class="doctable table">
   <caption><strong>Options de configuration pour les sessions</strong></caption>
   
    <thead>
     <tr>
      <th>Nom</th>
      <th>Défaut</th>
      <th>Modifiable</th>
      <th>Historique</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><a href="session.configuration.php#ini.session.save-path" class="link">session.save_path</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.name" class="link">session.name</a></td>
      <td>&quot;PHPSESSID&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.save-handler" class="link">session.save_handler</a></td>
      <td>&quot;files&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.auto-start" class="link">session.auto_start</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code>INI_PERDIR</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.gc-probability" class="link">session.gc_probability</a></td>
      <td>&quot;1&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.gc-divisor" class="link">session.gc_divisor</a></td>
      <td>&quot;100&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.gc-maxlifetime" class="link">session.gc_maxlifetime</a></td>
      <td>&quot;1440&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.serialize-handler" class="link">session.serialize_handler</a></td>
      <td>&quot;php&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.cookie-lifetime" class="link">session.cookie_lifetime</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.cookie-path" class="link">session.cookie_path</a></td>
      <td>&quot;/&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.cookie-domain" class="link">session.cookie_domain</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.cookie-secure" class="link">session.cookie_secure</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Antérieur à PHP 7.2.0, la valeur par défaut était <code class="literal">&quot;&quot;</code>.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.cookie-httponly" class="link">session.cookie_httponly</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Antérieur à PHP 7.2.0, la valeur par défaut était <code class="literal">&quot;&quot;</code>.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.cookie-samesite" class="link">session.cookie_samesite</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Disponible à partir de PHP  7.3.0.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.use-strict-mode" class="link">session.use_strict_mode</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.use-cookies" class="link">session.use_cookies</a></td>
      <td>&quot;1&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.use-only-cookies" class="link">session.use_only_cookies</a></td>
      <td>&quot;1&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.referer-check" class="link">session.referer_check</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.cache-limiter" class="link">session.cache_limiter</a></td>
      <td>&quot;nocache&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.cache-expire" class="link">session.cache_expire</a></td>
      <td>&quot;180&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.use-trans-sid" class="link">session.use_trans_sid</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>
      </td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.trans-sid-tags" class="link">session.trans_sid_tags</a></td>
      <td>&quot;a=href,area=href,frame=src,form=&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Disponible à partir de PHP  7.1.0.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.trans-sid-hosts" class="link">session.trans_sid_hosts</a></td>
      <td><code class="literal">$_SERVER[&#039;HTTP_HOST&#039;]</code></td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Disponible à partir de PHP  7.1.0.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.sid-length" class="link">session.sid_length</a></td>
      <td>&quot;32&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Disponible à partir de PHP  7.1.0. Obsolète à partir de PHP 8.4.0.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.sid-bits-per-character" class="link">session.sid_bits_per_character</a></td>
      <td>&quot;4&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Disponible à partir de PHP  7.1.0. Obsolète à partir de PHP 8.4.0.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.upload-progress.enabled" class="link">session.upload_progress.enabled</a></td>
      <td>&quot;1&quot;</td>
      <td><strong><code>INI_PERDIR</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.upload-progress.cleanup" class="link">session.upload_progress.cleanup</a></td>
      <td>&quot;1&quot;</td>
      <td><strong><code>INI_PERDIR</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.upload-progress.prefix" class="link">session.upload_progress.prefix</a></td>
      <td>&quot;upload_progress_&quot;</td>
      <td><strong><code>INI_PERDIR</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.upload-progress.name" class="link">session.upload_progress.name</a></td>
      <td>&quot;PHP_SESSION_UPLOAD_PROGRESS&quot;</td>
      <td><strong><code>INI_PERDIR</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.upload-progress.freq" class="link">session.upload_progress.freq</a></td>
      <td>&quot;1%&quot;</td>
      <td><strong><code>INI_PERDIR</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.upload-progress.min-freq" class="link">session.upload_progress.min_freq</a></td>
      <td>&quot;1&quot;</td>
      <td><strong><code>INI_PERDIR</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.lazy-write" class="link">session.lazy_write</a></td>
      <td>&quot;1&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.hash-function" class="link">session.hash_function</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Supprimé à partir de PHP 7.1.0</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.hash-bits-per-character" class="link">session.hash_bits_per_character</a></td>
      <td>&quot;4&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Supprimé à partir de PHP 7.1.0</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.entropy-file" class="link">session.entropy_file</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Supprimé à partir de PHP 7.1.0.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.entropy-length" class="link">session.entropy_length</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Supprimé à partir de PHP 7.1.0.</td>
     </tr>

    </tbody>
   
  </table>

  Pour plus de détails sur les modes INI_*,
        reportez-vous à <a href="configuration.changes.modes.php" class="xref">O&ugrave; une directive de configuration peut &ecirc;tre modifi&eacute;e</a>.
 </p>
 <p class="para">
  Le système de sessions dispose d&#039;un grand nombre de directives
  dans le fichier <var class="filename">php.ini</var>. En voici une présentation :
  <dl>

   
    <dt id="ini.session.save-handler">
     <code class="parameter">session.save_handler</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Définit le nom du gestionnaire
      de session qui est utilisé pour stocker et relire les
      données. Par défaut, c&#039;est le système intégré
      par fichiers : <code class="literal">files</code>. Noter que les
      extensions individuelles doivent enregistrer
      leurs propres gestionnaires de session. Voir aussi
      <span class="function"><a href="function.session-set-save-handler.php" class="function">session_set_save_handler()</a></span>.
     </span>
    </dd>
   

   
    <dt id="ini.session.save-path">
     <code class="parameter">session.save_path</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Définit le chemin qui doit être passé
      au gestionnaire de sauvegarde. Si l&#039;on décide de
      choisir le gestionnaire par défaut (par fichiers),
      cet argument sera utilisé comme dossier de sauvegarde
      des sessions. Voir aussi
      <span class="function"><a href="function.session-save-path.php" class="function">session_save_path()</a></span>.
     </span>
     <p class="para">
      Il y a un argument optionnel <code class="literal">N</code> à cette directive qui détermine
      la profondeur de répertoires où le fichier de session sera stocké.
      Par exemple, si l&#039;on définit <code class="literal">&#039;5;/tmp&#039;</code>, le fichier
      sera situé dans <code class="literal">/tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If</code>.
      Pour utiliser <code class="literal">N</code>, il faut créer
      tous ces répertoires avant de les utiliser. Un petit script shell existe dans
      <var class="filename">ext/session</var> pour réaliser ces créations et il se nomme
      <var class="filename">mod_files.sh</var>, et sa version Windows porte le nom
      <var class="filename">mod_files.bat</var>. Il est également à noter que si <code class="literal">N</code>
      est utilisé et est supérieur à 0, alors la routine automatique gc (garbage collection)
      ne sera pas exécutée ; voir une copie de <var class="filename">php.ini</var> pour plus d&#039;informations.
      Également, lors de l&#039;utilisation de <code class="literal">N</code>, il faut s&#039;assurer d&#039;entourer
      <code class="literal">session.save_path</code> de &quot;doubles guillemets&quot; car le séparateur
      (<code class="literal">;</code>) est également utilisé pour les commentaires dans
      <var class="filename">php.ini</var>.
     </p>
     <p class="para">
      Le module de stockage de fichiers crée des fichiers en utilisant le mode
      600 par défaut. Ce mode par défaut peut être modifié en utilisant l&#039;argument
      optionnel <code class="literal">MODE</code> : <code class="literal">N;MODE;/path</code> où
      <code class="literal">MODE</code> est la représentation octale du mode.
      Le fait de définir l&#039;argument <code class="literal">MODE</code> n&#039;affecte pas le processus
      umask.
     </p>
     <div class="warning"><strong class="warning">Avertissement</strong>
      <p class="para">
       Si cette option est configurée avec un dossier accessible en lecture
       à tout le monde, comme <var class="filename">/tmp</var> (par défaut), les
       autres utilisateurs pourront exploiter ces sessions en obtenant la
       liste de fichiers dans ce dossier.
      </p>
     </div>
     <div class="caution"><strong class="caution">Attention</strong>
      <p class="para">
       Lors de l&#039;utilisation de l&#039;argument optionnel <code class="literal">N</code>
       déterminant la profondeur de répertoires, voir plus haut, veuillez noter
       que l&#039;utilisation d&#039;une valeur supérieure à 1 ou 2 n&#039;est pas appropriée
       pour la majorité des sites à cause du nombre de dossiers requis : par
       exemple, une valeur de 3 implique que
       <code class="literal">(2 ** session.sid_bits_per_character) ** 3</code> dossiers
       existent sur le système de fichiers ce qui implique potentiellement un
       grand nombre d&#039;espaces et d&#039;inodes gaspillés.
      </p>
      <p class="para">
       N&#039;utiliser une valeur de <code class="literal">N</code> supérieure à 2 uniquement
       si l&#039;on est certain que c&#039;est nécessaire pour le site.
      </p>
     </div>
    </dd>
   

   
    <dt id="ini.session.name">
     <code class="parameter">session.name</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Spécifie le nom de la session,
      qui sera utilisé comme nom de cookie. Il ne doit contenir que
      des caractères alphanumériques. Par défaut, c&#039;est
      <code class="literal">PHPSESSID</code>.
      Voir aussi <span class="function"><a href="function.session-name.php" class="function">session_name()</a></span>.
     </span>
    </dd>
   

   
    <dt id="ini.session.auto-start">
     <code class="parameter">session.auto_start</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Spécifie si le module
      de session doit démarrer automatiquement au début de
      chaque script PHP. Par défaut, c&#039;est <code class="literal">0</code>
      (désactivé).
     </span>
    </dd>
   

   
    <dt id="ini.session.serialize-handler">
     <code class="parameter">session.serialize_handler</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Définit le nom du gestionnaire qui est utilisé pour sérialiser et
      désérialiser les données. Le format de sérialisation PHP
      (nommé <code class="literal">php_serialize</code>), les formats internes à PHP
      (nommés <code class="literal">php</code> et <code class="literal">php_binary</code>)
      et WDDX (nommé <code class="literal">wddx</code>) sont supportés. WDDX est seulement
      disponible, si PHP a été compilé avec l&#039;option
      <a href="ref.wddx.php" class="link">WDDX</a>. <code class="literal">php_serialize</code>
      utilise les fonctions de sérialisation/désérialisation en interne,
      et n&#039;a pas les limitations que <code class="literal">php</code> et <code class="literal">php_binary</code>
      ont. Les anciens gestionnaires de sérialisation ne peuvent pas stocker
      d&#039;index numérique, ni d&#039;index sous forme de chaînes qui contiennent
      des caractères spéciaux (<code class="literal">|</code> et <code class="literal">!</code>) en
      $_SESSION. Utiliser <code class="literal">php_serialize</code> pour éviter ce
      genre d&#039;erreur en fin de script. Par défaut, c&#039;est <code class="literal">php</code>.
     </span>
    </dd>
   

   
    <dt id="ini.session.gc-probability">
     <code class="parameter">session.gc_probability</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Spécifie la probabilité, exprimée en pourcentage, en conjonction de
      <code class="literal">session.gc_divisor</code>, que la routine gc
      (<code class="literal">garbage collection</code>)
      soit démarrée à chaque requête.
      La valeur par défaut est <code class="literal">1</code>. Doit être supérieur ou égal à <code class="literal">0</code>. Voir
      <a href="session.configuration.php#ini.session.gc-divisor" class="link">session.gc_divisor</a> pour plus de détails.
     </span>
    </dd>
   

   
    <dt id="ini.session.gc-divisor">
     <code class="parameter">session.gc_divisor</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.gc_divisor</code> en conjonction avec
      <code class="literal">session.gc_probability</code> définit la probabilité que la routine gc
      (<code class="literal">garbage collection</code>) soit démarrée à chaque début de session.
      La probabilité est calculée en utilisant gc_probability/gc_divisor, par
      exemple 1/100 signifie qu&#039;il y a 1 % de chance pour que la routine gc
      démarre à chaque requête. La valeur par défaut est <code class="literal">100</code>.
      Doit être supérieur ou égal à <code class="literal">0</code>.
     </span>
    </dd>
   

   
    <dt id="ini.session.gc-maxlifetime">
     <code class="parameter">session.gc_maxlifetime</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Spécifie la durée de vie des données sur le serveur, en nombre
      de secondes. Après cette durée, les données seront considérées
      comme obsolètes, et peuvent potentiellement être supprimées.
      Les données peuvent devenir obsolètes lors du démarrage de la session
      (suivant <a href="session.configuration.php#ini.session.gc-probability" class="link">session.gc_probability</a> et
      <a href="session.configuration.php#ini.session.gc-divisor" class="link">session.gc_divisor</a>).
      La valeur par défaut est <code class="literal">1440</code> (24 minutes).
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Si des scripts différents ont des valeurs différentes de
       <code class="literal">session.gc_maxlifetime</code> mais partagent le même
       endroit pour y stocker les données de session, alors, le script dont la valeur
       est la plus petite effacera la donnée. Dans ce cas, utiliser cette directive
       conjointement avec <a href="session.configuration.php#ini.session.save-path" class="link">session.save_path</a>.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.referer-check">
     <code class="parameter">session.referer_check</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Contient une sous-chaîne
      que l&#039;on souhaite retrouver dans tous les en-têtes HTTP Referer. Si
      cet en-tête a été envoyé par le client et que la sous-chaîne n&#039;a pas
      été trouvée, l&#039;identifiant de session sera considéré comme invalide.
      Par défaut, cette option est une chaîne vide.
     </span>
    </dd>
   

   
    <dt id="ini.session.entropy-file">
     <code class="parameter">session.entropy_file</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Est un chemin jusqu&#039;à
      une source externe (un fichier), qui sera utilisée comme source
      additionnelle d&#039;entropie pour la création de l&#039;identifiant
      de session. Des exemples valides sont <code class="literal">/dev/random</code> et
      <code class="literal">/dev/urandom</code>, qui sont disponibles sur
      tous les systèmes Unix.
     </span>
     <span class="simpara">
      Cette fonctionnalité est supportée sous Windows.
      Le fait de définir <code class="literal">session.entropy_length</code> à une valeur
      différente de zéro fera que PHP utilisera l&#039;API aléatoire de Windows comme
      source d&#039;entropie.
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Supprimé dans PHP 7.1.0.
      </span>
      <span class="simpara">
       <code class="literal">session.entropy_file</code> vaut par défaut
       <code class="literal">/dev/urandom</code> ou <code class="literal">/dev/arandom</code>
       s&#039;il est disponible.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.entropy-length">
     <code class="parameter">session.entropy_length</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Spécifie le nombre d&#039;octets
      qui seront lus dans le fichier défini ci-dessus. Par défaut <code class="literal">32</code>.
     </span>
     <span class="simpara">
      Supprimé dans PHP 7.1.0.
     </span>
    </dd>
   

   
    <dt id="ini.session.use-strict-mode">
     <code class="parameter">session.use_strict_mode</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.use_strict_mode</code> spécifie si le module doit
      utiliser le mode d&#039;identifiant de session strict. Si ce mode est activé,
      le module ne va pas accepter des identifiants de session non initialisés.
      Si un identifiant de session non initialisé est envoyé depuis le navigateur,
      un nouvel identifiant de session sera envoyé au navigateur. Les
      applications sont protégées des fixations de session via l&#039;utilisation
      du mode strict des sessions.
      Par défaut, vaut <code class="literal">0</code> (désactivé).
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Activer <code class="literal">session.use_strict_mode</code> est obligatoire
       pour la sécurité générale des sessions. Il est conseillé de l&#039;activer pour
       tous les sites. Voir l&#039;exemple de code de
       <span class="function"><a href="function.session-create-id.php" class="function">session_create_id()</a></span> pour plus de détails.
      </span>
     </p></blockquote>
    <div class="warning"><strong class="warning">Avertissement</strong>
     <p class="para">
      Si un gestionnaire de session enregistré via la fonction
      <span class="function"><a href="function.session-set-save-handler.php" class="function">session_set_save_handler()</a></span> n&#039;implémente pas
      <span class="methodname"><a href="sessionupdatetimestamphandlerinterface.validateid.php" class="methodname">SessionUpdateTimestampHandlerInterface::validateId()</a></span>,
      ni ne fournit la fonction de rappel <code class="parameter">validate_sid</code>, respectivement,
      le mode d&#039;identifiant de session strict sera effectivement désactivé, suivant la valeur
      de cette directive. Il est à noter que <span class="classname"><a href="class.sessionhandler.php" class="classname">SessionHandler</a></span> <em>n&#039;implémente
      pas</em> la méthode <span class="methodname"><strong>SessionHandler::validateId()</strong></span>.
     </p>
    </div>
    </dd>
   

   
    <dt id="ini.session.use-cookies">
     <code class="parameter">session.use_cookies</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Spécifie si le module utilisera
      les cookies pour stocker l&#039;id de session côté client.
      Par défaut, il vaut <code class="literal">1</code>, c&#039;est-à-dire actif.
     </span>
    </dd>
   

   
    <dt id="ini.session.use-only-cookies">
     <code class="parameter">session.use_only_cookies</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Spécifie si le module
      doit utiliser <strong>seulement</strong> les cookies
      pour stocker les identifiants de sessions du côté du navigateur.
      En l&#039;activant, l&#039;on évitera les attaques qui utilisent des
      identifiants de sessions dans les URL.
      Par défaut, vaut <code class="literal">1</code> (activé).
     </span>
    </dd>
   

   
    <dt id="ini.session.cookie-lifetime">
     <code class="parameter">session.cookie_lifetime</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Spécifie la durée de vie du cookie en secondes. La valeur de
      <code class="literal">0</code> signifie : &quot;Jusqu&#039;à ce que le navigateur soit éteint&quot;.
      La valeur par défaut est <code class="literal">0</code>. Voir aussi
      <span class="function"><a href="function.session-get-cookie-params.php" class="function">session_get_cookie_params()</a></span> et
      <span class="function"><a href="function.session-set-cookie-params.php" class="function">session_set_cookie_params()</a></span>.
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Le timestamp représentant la durée de vie du cookie est défini
       par rapport au temps du serveur, qui n&#039;est pas forcément le même
       que le temps du navigateur.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.cookie-path">
     <code class="parameter">session.cookie_path</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Spécifie le chemin utilisé
      lors de la création du cookie. Par défaut, il vaut <code class="literal">/</code>.
      Voir aussi
      <span class="function"><a href="function.session-get-cookie-params.php" class="function">session_get_cookie_params()</a></span> et
      <span class="function"><a href="function.session-set-cookie-params.php" class="function">session_set_cookie_params()</a></span>.
     </span>
    </dd>
   

   
    <dt id="ini.session.cookie-domain">
     <code class="parameter">session.cookie_domain</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Spécifie le domaine utilisé lors de la création du cookie. Par défaut,
      il ne vaut rien, cela signifie que c&#039;est le nom de l&#039;hôte du serveur qui
      génère le cookie en accord avec les spécifications sur les cookies.
      Voir aussi <span class="function"><a href="function.session-get-cookie-params.php" class="function">session_get_cookie_params()</a></span> et
      <span class="function"><a href="function.session-set-cookie-params.php" class="function">session_set_cookie_params()</a></span>.
     </span>
    </dd>
   

   
    <dt id="ini.session.cookie-secure">
     <code class="parameter">session.cookie_secure</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Spécifie que les cookies ne doivent être émis que sur des
      connexions sécurisées. Avec cette option définie
      sur <code class="literal">on</code>, les sessions ne fonctionnent qu&#039;avec des connexions HTTPS.
      Si elle est définie sur <code class="literal">off</code>, alors les sessions fonctionnent avec les connexions HTTP et
      HTTPS. Par défaut, elle est définie sur <code class="literal">off</code>.
      Voir aussi
      <span class="function"><a href="function.session-get-cookie-params.php" class="function">session_get_cookie_params()</a></span> et
      <span class="function"><a href="function.session-set-cookie-params.php" class="function">session_set_cookie_params()</a></span>.
     </span>
    </dd>
   

   
    <dt id="ini.session.cookie-httponly">
     <code class="parameter">session.cookie_httponly</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Marque le cookie pour qu&#039;il ne soit accessible que via le protocole HTTP. Cela signifie
      que le cookie ne sera pas accessible par les langages de script, comme Javascript.
      Cette configuration permet de limiter les attaques comme les attaques XSS (bien
      qu&#039;elle ne soit pas supportée par tous les navigateurs).
     </span>
    </dd>
   

   
    <dt id="ini.session.cookie-samesite">
     <code class="parameter">session.cookie_samesite</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Permet qu&#039;un cookie ne soit pas envoyé par le serveur avec des requêtes entre sites
      (cross-site). Cette assertion permet aux agents utilisateur de mitiger les risques
      de fuite d&#039;informations d&#039;origine du site (cross-origin), et fournit de la
      protection contre les attaques des fausses requêtes entre sites (cross-site request
      forgery). Il est à noter que ceci n&#039;est pas supporté par tous les navigateurs.
      Une valeur vide signifie qu&#039;aucun attribut SameSite ne sera défini.
      <code class="literal">Lax</code> et <code class="literal">Strict</code> signifie que le cookie
      ne sera pas envoyé pour des requêtes POST entre domaines ; <code class="literal">Lax</code>
      enverra le cookie pour des requêtes GET entre domaines, tandis que <code class="literal">Strict</code>
      n&#039;en enverra pas.
     </span>
    </dd>
   

   
    <dt id="ini.session.cache-limiter">
     <code class="parameter">session.cache_limiter</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Spécifie le type de contrôle de cache utilisé pour les pages
      avec sessions. Les valeurs possibles sont :
      <code class="literal">nocache</code>, <code class="literal">private</code>,
      <code class="literal">private_no_expire</code>, <code class="literal">public</code>.
      Par défaut, il vaut <code class="literal">nocache</code>.
      Voir aussi <span class="function"><a href="function.session-cache-limiter.php" class="function">session_cache_limiter()</a></span> pour
      connaître la signification de ces valeurs.
     </span>
    </dd>
   

   
    <dt id="ini.session.cache-expire">
     <code class="parameter">session.cache_expire</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Spécifie la durée de
      vie des données de sessions, en minutes. Cette option n&#039;a aucune
      conséquence sur le contrôle de cache. Par défaut, il vaut
      <code class="literal">180</code> (3 heures).
      Voir aussi
      <span class="function"><a href="function.session-cache-expire.php" class="function">session_cache_expire()</a></span>.
     </span>
    </dd>
   

   
    <dt id="ini.session.use-trans-sid">
     <code class="parameter">session.use_trans_sid</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Spécifie si le support du SID est transparent ou pas. Par défaut vaut <code class="literal">0</code>
      (désactivé).
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Le système de gestion des sessions par URL pose un risque
       supplémentaire de sécurité : un utilisateur peut envoyer
       son URL avec l&#039;identifiant de session par email à un ami,
       ou bien le mettre dans ses signets. Cela diffusera alors
       l&#039;identifiant de session.
      </span>
      <span class="simpara">
       À partir de PHP 7.1.0, le chemin URL complet, par exemple https://php.net/,
       est géré par la fonctionnalité. Précédemment, PHP gérait le chemin relatif
       uniquement. L&#039;hôte cible de la réécriture est défini par <a href="session.configuration.php#ini.session.trans-sid-hosts" class="link">session.trans_sid_hosts</a>.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.trans-sid-tags">
     <code class="parameter">session.trans_sid_tags</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.trans_sid_tags</code> spécifie les balises HTML qui
      sont réécrites pour inclure l&#039;ID de session lorsque le support du SID
      transparent est activé. Par défaut
      <code class="literal">a=href,area=href,frame=src,input=src,form=</code>
     </span>
     <span class="simpara">
      <code class="literal">form</code> est une balise spéciale. La variable de formulaire
      <code class="literal">&lt;input hidden=&quot;session_id&quot; name=&quot;session_name&quot;&gt;</code>
      est ajoutée.
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Antérieur à PHP 7.1.0, <a href="outcontrol.configuration.php#ini.url-rewriter.tags" class="link">url_rewriter.tags</a>
       était utilisé à cette fin. À partir de PHP 7.1.0,
       <code class="literal">fieldset</code> n&#039;est plus considéré comme une balise
       spéciale.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.trans-sid-hosts">
     <code class="parameter">session.trans_sid_hosts</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.trans_sid_hosts</code> spécifie les hôtes qui sont
      réécrits pour inclure l&#039;ID de session lorsque le support du SID transparent
      est activé. Par défaut <code class="literal">$_SERVER[&#039;HTTP_HOST&#039;]</code>. Plusieurs
      hôtes peuvent être spécifiés séparés par &quot;,&quot;, aucun espace n&#039;est autorisé
      entre les hôtes. Par exemple :
      <code class="literal">php.net,wiki.php.net,bugs.php.net</code>
     </span>
    </dd>
   

   
    <dt id="ini.session.sid-length">
     <code class="parameter">session.sid_length</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.sid_length</code> permet de spécifier la longueur
      de la chaîne d&#039;ID de session. La longueur de l&#039;ID de session peut être
      comprise entre 22 et 256.
     </span>
     <span class="simpara">
      La valeur par défaut est 32. En cas de besoin de compatibilité, il est possible de
       spécifier 32, 40, etc. L&#039;ID de session plus long est plus difficile
      à deviner. Au moins 32 caractères sont recommandés.
     </span>
     <div class="tip"><strong class="tip">Astuce</strong>
      <p class="para">
       Note de compatibilité: utiliser 32 au lieu de
       <code class="literal">session.hash_function</code>=0 (MD5) et
       <code class="literal">session.hash_bits_per_character</code>=4,
       <code class="literal">session.hash_function</code>=1 (SHA1) et
       <code class="literal">session.hash_bits_per_character</code>=6. Utiliser 26 au lieu de
       <code class="literal">session.hash_function</code>=0 (MD5) et
       <code class="literal">session.hash_bits_per_character</code>=5. Utiliser 22 au lieu de
       <code class="literal">session.hash_function</code>=0 (MD5) et
       <code class="literal">session.hash_bits_per_character</code>=6.
       Il faut configurer les valeurs INI pour qu&#039;il y ait 128 bits dans
       l&#039;ID de session. Il ne faut pas oublier de définir la valeur appropriée à
       <code class="literal">session.sid_bits_per_character</code>, sinon on aura des
       ID de session plus faibles.
      </p>
     </div>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Disponible à partir de PHP  7.1.0.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.sid-bits-per-character">
     <code class="parameter">session.sid_bits_per_character</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.sid_bits_per_character</code> permet de spécifier le
      nombre de bits dans le caractère codé dans l&#039;ID de session. Les valeurs
      possibles sont
      &#039;4&#039; (0-9, a-f), &#039;5&#039; (0-9, a-v), et &#039;6&#039; (0-9, a-z, A-Z, &quot;-&quot;, &quot;,&quot;).
     </span>
     <span class="simpara">
      La valeur par défaut est 4. Plus de bits aboutit à un ID de session plus
      fort. 5 est la valeur recommandée pour la plupart des environnements.
     </span>
     <p class="para">
     </p>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Disponible à partir de PHP  7.1.0.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.hash-function">
     <code class="parameter">session.hash_function</code>
     mixed
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.hash_function</code> permet de spécifier la fonction
      de hachage à utiliser pour générer les identifiants de session. &#039;0&#039; signifie
      MD5 (128 bits) et &#039;1&#039; signifie SHA-1 (160 bits).
     </span>
     <p class="para">
      Il est également possible de spécifier n&#039;importe
      quel algorithme fourni par l&#039;<a href="ref.hash.php" class="link">extension hash</a>
      (s&#039;il est disponible), comme <code class="literal">sha512</code> ou
      <code class="literal">whirlpool</code>. Une liste complète d&#039;algorithmes peut être
      obtenue avec la fonction <span class="function"><a href="function.hash-algos.php" class="function">hash_algos()</a></span>.
     </p>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Supprimé dans PHP 7.1.0.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.hash-bits-per-character">
     <code class="parameter">session.hash_bits_per_character</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.hash_bits_per_character</code> permet de définir
      le nombre de bits utilisés pour chaque caractère lors des conversions des
      données binaires en éléments lisibles. Les valeurs possibles sont &#039;4&#039; (0-9,
      a-f), &#039;5&#039; (0-9, a-v), et &#039;6&#039; (0-9, a-z, A-Z, &quot;-&quot;, &quot;,&quot;).
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Supprimé dans PHP 7.1.0.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.upload-progress.enabled">
     <code class="parameter">session.upload_progress.enabled</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Active la surveillance de la progression d&#039;un téléchargement, en peuplant
      la variable <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var>. Par défaut, vaut 1 (activé).
     </span>
    </dd>
   

   
    <dt id="ini.session.upload-progress.cleanup">
     <code class="parameter">session.upload_progress.cleanup</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Nettoie les informations de progression dès que toutes les données POST
      ont été lues (c.-à-d. le téléchargement est terminé). Par défaut, vaut 1 (activé).
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Il est vivement recommandé de conserver active cette fonctionnalité.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.upload-progress.prefix">
     <code class="parameter">session.upload_progress.prefix</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Un préfixe utilisé pour la clé relative à la progression du téléchargement
      dans le tableau <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var>. Cette clé sera concaténée avec
      la valeur de <code class="literal">$_POST[ini_get(&quot;session.upload_progress.name&quot;)]</code>
      pour fournir un index unique.
     </span>
     <span class="simpara">
      Par défaut, vaut &quot;upload_progress_&quot;.
     </span>
    </dd>
   

   
    <dt id="ini.session.upload-progress.name">
     <code class="parameter">session.upload_progress.name</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Le nom de la clé à utiliser dans le tableau <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var>
      pour y stocker les informations de progression. Voir aussi
      <a href="session.configuration.php#ini.session.upload-progress.prefix" class="link">session.upload_progress.prefix</a>.
     </span>
     <span class="simpara">
      Si <code class="literal">$_POST[ini_get(&quot;session.upload_progress.name&quot;)]</code>
      n&#039;est pas fourni ou disponible, la progression d&#039;un téléchargement ne sera pas enregistrée.
     </span>
     <span class="simpara">
      Par défaut, vaut &quot;PHP_SESSION_UPLOAD_PROGRESS&quot;.
     </span>
    </dd>
   

   
    <dt id="ini.session.upload-progress.freq">
     <code class="parameter">session.upload_progress.freq</code>
     <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Définit le nombre de fois où les informations de progression de téléchargement
      doivent être mises à jour. Peut être défini en octets (c.-à-d. &quot;mettre à jour
      les informations de progression de téléchargement tous les 100 octets&quot;),
      ou en pourcentage (c.-à-d. &quot;mettre à jour les informations de progression de
      téléchargement tous les 1% de réception du poids total du fichier&quot;).
     </span>
     <span class="simpara">
      Par défaut, vaut &quot;1%&quot;.
     </span>
    </dd>
   

   
    <dt id="ini.session.upload-progress.min-freq">
     <code class="parameter">session.upload_progress.min_freq</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Le délai minimal entre les mises à jour, en secondes.
      Par défaut, vaut &quot;1&quot; (une seconde).
     </span>
    </dd>
   

   
    <dt id="ini.session.lazy-write">
     <code class="parameter">session.lazy_write</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.lazy_write</code>, quand défini à 1, cela signifie que
      la donnée de session ne sera réécrite que si celle-ci change. Par
      défaut 1, activé.
     </span>
    </dd>
   
  </dl>
 </p>

 <p class="para">
  La progression de téléchargement ne sera pas enregistrée tant que
  session.upload_progress.enabled n&#039;est pas actif, et que la variable
  $_POST[ini_get(&quot;session.upload_progress.name&quot;)] n&#039;est pas définie.
  Voir la <a href="session.upload-progress.php" class="link">progression de téléchargement
  de session</a> pour plus d&#039;informations sur cette fonctionnalité.
 </p>

</div><?php manual_footer($setup); ?>