Files
doc-fr/reference/session/functions/session-set-cookie-params.xml
2021-09-24 04:13:47 +01:00

205 lines
7.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 37be0e0626e8b96e617e800392651eacc5f65bdc Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.session-set-cookie-params" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>session_set_cookie_params</refname>
<refpurpose>Modifie les paramètres du cookie de session</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>session_set_cookie_params</methodname>
<methodparam><type>int</type><parameter>lifetime_or_options</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>path</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>domain</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>bool</type><type>null</type></type><parameter>secure</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>bool</type><type>null</type></type><parameter>httponly</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>Signature alternative disponible à partir de PHP 7.3.0 :</para>
<methodsynopsis>
<type>bool</type><methodname>session_set_cookie_params</methodname>
<methodparam><type>array</type><parameter>lifetime_or_options</parameter></methodparam>
</methodsynopsis>
<para>
Modifie les paramètres de configuration du cookie de session, qui a été
configuré dans le fichier &php.ini;. L'effet de cette fonction ne dure
que pendant l'exécution du script courant. De ce fait, vous devez appeler
<function>session_set_cookie_params</function> pour chaque script et avant
l'appel à <function>session_start</function>.
</para>
<para>
Cette fonction modifie à la volée les paramètres ini correspondants qui peuvent être
récupérés au moyen de <function>ini_get</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>lifetime_or_options</parameter></term>
<listitem>
<para>
Lors de l'utilisation de la première signature, la durée de vie du cookie, en secondes.
Voir la directive <link linkend="ini.session.cookie-lifetime">lifetime</link>.
</para>
<para>
Lors de l'utilisation de la deuxième signature,
un &array; associatif qui peut avoir comme clés
<literal>lifetime</literal>, <literal>path</literal>, <literal>domain</literal>,
<literal>secure</literal>, <literal>httponly</literal> et <literal>samesite</literal>.
Les valeurs ont la même signification que celles décrits pour les paramètres
avec le même nom. La valeur de l'élément <literal>samesite</literal> doit soit
être <literal>Lax</literal> soit <literal>Strict</literal>.
Si une options autorisé n'est pas donnée alors sa valeur par défaut sera
identique à la valeur par défaut des paramètres explicite. Si l'élément
<literal>samesite</literal> est omit, alors l'attribut SameSite du cookie
ne sera pas définie.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>path</parameter></term>
<listitem>
<para>
Le chemin dans le domaine où le cookie sera accessible. Utilisez
un simple slash ('/') pour tous les chemins du domaine.
Voir la directive <link linkend="ini.session.cookie-path">path</link>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>domain</parameter></term>
<listitem>
<para>
Le domaine du cookie, par exemple 'www.php.net'. Pour rendre les cookies
visibles sur tous les sous-domaines, le domaine doit être préfixé avec
un point, tel que '.php.net'.
Voir la directive <link linkend="ini.session.cookie-domain">domain</link>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>secure</parameter></term>
<listitem>
<para>
Si &true;, le cookie ne sera envoyé que sur une connexion sécurisée.
Voir la directive <link linkend="ini.session.cookie-secure">secure</link>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>httponly</parameter></term>
<listitem>
<para>
Si &true;, PHP va tenter d'envoyer l'option httponly
lors de la configuration du cookie.
Voir la directive <link linkend="ini.session.cookie-httponly">httponly</link>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>path</parameter>, <parameter>domain</parameter>,
<parameter>secure</parameter> et <parameter>httponly</parameter> sont désormais nullable.
</entry>
</row>
<row>
<entry>7.3.0</entry>
<entry>
Une signature alternative supportant un &array;
d'<parameter>lifetime_or_options</parameter> a été ajouté.
Cette signature supporte la définition de l'attribut SameSite du cookie.
</entry>
</row>
<row>
<entry>7.2.0</entry>
<entry>
&return.success; Auparavant la fonction retourner &void;.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member>
<link linkend="ini.session.cookie-lifetime">session.cookie_lifetime</link>
</member>
<member>
<link linkend="ini.session.cookie-path">session.cookie_path</link>
</member>
<member>
<link linkend="ini.session.cookie-domain">session.cookie_domain</link>
</member>
<member>
<link linkend="ini.session.cookie-secure">session.cookie_secure</link>
</member>
<member>
<link linkend="ini.session.cookie-httponly">session.cookie_httponly</link>
</member>
<member>
<link linkend="ini.session.cookie-samesite">session.cookie_samesite</link>
</member>
<member>
<function>session_get_cookie_params</function>
</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- 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:"~/.phpdoc/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
-->