mirror of
https://github.com/php/doc-pt_br.git
synced 2026-03-24 07:02:09 +01:00
1049 lines
37 KiB
XML
1049 lines
37 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: 7f1b75ed358430c1db0e37c832d2926735d5f5c2 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandoc, surfmax, ae, adiel, marcosmarcolin, leonardolara -->
|
|
<section xml:id="session.configuration" xmlns="http://docbook.org/ns/docbook">
|
|
&reftitle.runtime;
|
|
&extension.runtime;
|
|
<para>
|
|
<table>
|
|
<title>Opções de configuração de sessão</title>
|
|
<tgroup cols="4">
|
|
<thead>
|
|
<row>
|
|
<entry>&Name;</entry>
|
|
<entry>&Default;</entry>
|
|
<entry>&Changeable;</entry>
|
|
<entry>&Changelog;</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody xml:id="session.configuration.list">
|
|
<row>
|
|
<entry><link linkend="ini.session.save-path">session.save_path</link></entry>
|
|
<entry>""</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.name">session.name</link></entry>
|
|
<entry>"PHPSESSID"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.save-handler">session.save_handler</link></entry>
|
|
<entry>"files"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.auto-start">session.auto_start</link></entry>
|
|
<entry>"0"</entry>
|
|
<entry><constant>INI_PERDIR</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.gc-probability">session.gc_probability</link></entry>
|
|
<entry>"1"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.gc-divisor">session.gc_divisor</link></entry>
|
|
<entry>"100"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.gc-maxlifetime">session.gc_maxlifetime</link></entry>
|
|
<entry>"1440"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.serialize-handler">session.serialize_handler</link></entry>
|
|
<entry>"php"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.cookie-lifetime">session.cookie_lifetime</link></entry>
|
|
<entry>"0"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.cookie-path">session.cookie_path</link></entry>
|
|
<entry>"/"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.cookie-domain">session.cookie_domain</link></entry>
|
|
<entry>""</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.cookie-secure">session.cookie_secure</link></entry>
|
|
<entry>"0"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry>Antes do PHP 7.2.0, o padrão era <literal>""</literal>.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.cookie-httponly">session.cookie_httponly</link></entry>
|
|
<entry>"0"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry>Antes do PHP 7.2.0, o padrão era <literal>""</literal>.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.cookie-samesite">session.cookie_samesite</link></entry>
|
|
<entry>""</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry>Disponível a partir do PHP 7.3.0.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.use-strict-mode">session.use_strict_mode</link></entry>
|
|
<entry>"0"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.use-cookies">session.use_cookies</link></entry>
|
|
<entry>"1"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.use-only-cookies">session.use_only_cookies</link></entry>
|
|
<entry>"1"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.referer-check">session.referer_check</link></entry>
|
|
<entry>""</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.cache-limiter">session.cache_limiter</link></entry>
|
|
<entry>"nocache"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.cache-expire">session.cache_expire</link></entry>
|
|
<entry>"180"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.use-trans-sid">session.use_trans_sid</link></entry>
|
|
<entry>"0"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.trans-sid-tags">session.trans_sid_tags</link></entry>
|
|
<entry>"a=href,area=href,frame=src,form="</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry>Disponível desde o PHP 7.1.0.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.trans-sid-hosts">session.trans_sid_hosts</link></entry>
|
|
<entry><literal>$_SERVER['HTTP_HOST']</literal></entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry>Disponível desde o PHP 7.1.0.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.sid-length">session.sid_length</link></entry>
|
|
<entry>"32"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry>Disponível desde o PHP 7.1.0. Descontinuada a partir do PHP 8.4.0.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.sid-bits-per-character">session.sid_bits_per_character</link></entry>
|
|
<entry>"5"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry>Disponível desde o PHP 7.1.0. Descontinuada a partir do PHP 8.4.0.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.upload-progress.enabled">session.upload_progress.enabled</link></entry>
|
|
<entry>"1"</entry>
|
|
<entry><constant>INI_PERDIR</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.upload-progress.cleanup">session.upload_progress.cleanup</link></entry>
|
|
<entry>"1"</entry>
|
|
<entry><constant>INI_PERDIR</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.upload-progress.prefix">session.upload_progress.prefix</link></entry>
|
|
<entry>"upload_progress_"</entry>
|
|
<entry><constant>INI_PERDIR</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.upload-progress.name">session.upload_progress.name</link></entry>
|
|
<entry>"PHP_SESSION_UPLOAD_PROGRESS"</entry>
|
|
<entry><constant>INI_PERDIR</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.upload-progress.freq">session.upload_progress.freq</link></entry>
|
|
<entry>"1%"</entry>
|
|
<entry><constant>INI_PERDIR</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.upload-progress.min-freq">session.upload_progress.min_freq</link></entry>
|
|
<entry>"1"</entry>
|
|
<entry><constant>INI_PERDIR</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.lazy-write">session.lazy_write</link></entry>
|
|
<entry>"1"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.hash-function">session.hash_function</link></entry>
|
|
<entry>"0"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry>Removido no PHP 7.1.0.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.hash-bits-per-character">session.hash_bits_per_character</link></entry>
|
|
<entry>"4"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry>Removido no PHP 7.1.0.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.entropy-file">session.entropy_file</link></entry>
|
|
<entry>""</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry>Removido no PHP 7.1.0.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.session.entropy-length">session.entropy_length</link></entry>
|
|
<entry>"0"</entry>
|
|
<entry><constant>INI_ALL</constant></entry>
|
|
<entry>Removido no PHP 7.1.0.</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
&ini.php.constants;
|
|
</para>
|
|
<para>
|
|
O sistema de gerenciamento de sessões suporta várias opções de configurações
|
|
que podem ser colocados no arquivo &php.ini;. A seguir
|
|
um breve resumo.
|
|
<variablelist>
|
|
|
|
<varlistentry xml:id="ini.session.save-handler">
|
|
<term>
|
|
<parameter>session.save_handler</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.save_handler</literal> define o nome do
|
|
manipulador que será utilizado para armazenar e recuperar dados
|
|
associados à sessão. Padrão para
|
|
<literal>files</literal>. Note que extensões podem registrar seus
|
|
próprios <literal>save_handler</literal>s; manipuladores registrados podem
|
|
ser obtidos ao se vefificar o
|
|
<function>phpinfo</function>. Veja também
|
|
<function>session_set_save_handler</function>.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.save-path">
|
|
<term>
|
|
<parameter>session.save_path</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.save_path</literal> define o argumento que
|
|
é passado para o manipulador de gravação. Se você escolher o manipulador padrão (de
|
|
arquivos), este é o caminho onde os arquivos serão criados. Veja também
|
|
<function>session_save_path</function>.
|
|
</simpara>
|
|
<para>
|
|
Há um argumento opcional <literal>N</literal> para esta diretiva que determina
|
|
o número de níveis de diretório que seus arquivos de sessão serão
|
|
espalhados. Por exemplo, definindo para <literal>'5;/tmp'</literal>
|
|
pode levar a criação de um arquivo de sessão e diretórios como
|
|
<literal>/tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If
|
|
</literal>. Para fazer uso do <literal>N</literal> você deve criar todos estes
|
|
diretórios antes do uso. Um pequeno script shell existe em
|
|
<filename>ext/session</filename> para fazer isto, chamado
|
|
<filename>mod_files.sh</filename>, com uma versão para o Windows chamada
|
|
<filename>mod_files.bat</filename>. Também note que se <literal>N</literal> é
|
|
usado e maior do que 0 então a limpeza de sessões não
|
|
será executada, veja uma cópia do &php.ini; para mais
|
|
informações. Também, se você usar <literal>N</literal>, certifique-se de cercar
|
|
<literal>session.save_path</literal> com
|
|
"aspas" porque o separador (<literal>;</literal>) é
|
|
usado também para comentátios no &php.ini;.
|
|
</para>
|
|
<para>
|
|
O módulo de armazenamento em arquivo cria arquivos com permissões 600 por padrão.
|
|
Esse padrão pode ser alterado com o argumento opcional <literal>MODE</literal>:
|
|
<literal>N;MODE;/path</literal> onde <literal>MODE</literal> é o valor octal
|
|
representando as permissões.
|
|
Configurar <literal>MODE</literal> não afeta o umask do processo.
|
|
</para>
|
|
<warning>
|
|
<para>
|
|
Se você deixar isto definido num diretório de leitura público, como
|
|
<filename>/tmp</filename> (o padrão), outros usuários no
|
|
servidor poderão raptar sessões pegando a lista de
|
|
arquivos nesse diretório.
|
|
</para>
|
|
</warning>
|
|
<caution>
|
|
<para>
|
|
Ao utilizar o argumento opcional de nível de diretório <literal>N</literal>,
|
|
como descrito acima, note que utilizar um valor maior que 1 ou 2 é
|
|
inapropriado na maioria dos sites por conta da geração de um grande número de diretórios
|
|
exigidos: por exemplo, um valor de 3 implica que existirão <literal>(2 ** session.sid_bits_per_character) ** 3</literal>
|
|
diretórios em disco, o que pode resultar numa quantidade enorme de espaço e
|
|
inodes desperdiçados.
|
|
</para>
|
|
<para>
|
|
Somente use <literal>N</literal> maiores que 2 se você estiver absolutamente
|
|
certo que o seu site é grande o suficiente para exigí-lo.
|
|
</para>
|
|
</caution>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.name">
|
|
<term>
|
|
<parameter>session.name</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.name</literal> especifica o nome da
|
|
sessão que é usada como o nome do cookie. Deve conter apenas
|
|
caracteres alfanuméricos. O padrão é <literal>PHPSESSID</literal>.
|
|
Veja também <function>session_name</function>.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.auto-start">
|
|
<term>
|
|
<parameter>session.auto_start</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.auto_start</literal> especifica se o
|
|
módulo da sessão deve iniciar uma sessão automaticamente no início
|
|
da requisição. Padrão <literal>0</literal> (desabilitado).
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.serialize-handler">
|
|
<term>
|
|
<parameter>session.serialize_handler</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.serialize_handler</literal> define o nome do
|
|
manipulador utilizado para serializar/desserializar dados. São suportados o formato
|
|
serial do PHP (<literal>php_serialize</literal>), o formato interno
|
|
do PHP (<literal>php</literal> e
|
|
<literal>php_binary</literal>) e WDDX
|
|
(<literal>wddx</literal>). O WDDX somente está disponível se o PHP foi
|
|
compilado com <link linkend="ref.wddx">suporte
|
|
WDDX</link>. <literal>php_serialize</literal> utiliza
|
|
as funções serialize/unserialize internamente e não tem
|
|
as limitações que <literal>php</literal>
|
|
e <literal>php_binary</literal> tem. Serializadores antigos
|
|
não conseguem gravar índices numéricos ou índices string que contenham caracteres
|
|
especiais (<literal>|</literal> e <literal>!</literal>) no array
|
|
$_SESSION. Utilize <literal>php_serialize</literal> para evitar erros de índices
|
|
numéricos ou índices com caracteres especiais no final do script. O padrão
|
|
é <literal>php</literal>.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.gc-probability">
|
|
<term>
|
|
<parameter>session.gc_probability</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.gc_probability</literal> em conjunto com
|
|
<literal>session.gc_divisor</literal> é usado para gerenciar a probabilidade
|
|
que o gc (coletor de lixo) seja iniciado.
|
|
O padrão é <literal>1</literal>. Precisa ser maior ou igual a <literal>0</literal>. Veja <link
|
|
linkend="ini.session.gc-divisor">session.gc_divisor</link> para detalhes.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.gc-divisor">
|
|
<term>
|
|
<parameter>session.gc_divisor</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.gc_divisor</literal> em conjunto com
|
|
<literal>session.gc_probability</literal> define a probabilidade
|
|
que o processo do gc (coletor de lixo) seja iniciado na inicialização de
|
|
cada sessão.
|
|
A probabilidade é calculada usando gc_probability/gc_divisor,
|
|
ex. 1/100 indica que existe 1% de chance que o processo GC inicie
|
|
em cada requisição.
|
|
O padrão para <literal>session.gc_divisor</literal> é <literal>100</literal>.
|
|
Precisa ser maior que <literal>0</literal>.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.gc-maxlifetime">
|
|
<term>
|
|
<parameter>session.gc_maxlifetime</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.gc_maxlifetime</literal> especifica o número
|
|
de segundos, que, depois de decorridos, os dados serão considerados como lixo ('garbage') e
|
|
eventualmente apagados. Isso pode ocorrer no início da sessão
|
|
(dependendo de <link
|
|
linkend="ini.session.gc-probability">session.gc_probability</link> e
|
|
<link linkend="ini.session.gc-divisor">session.gc_divisor</link>).
|
|
O padrão é <literal>1440</literal> (24 minutos).
|
|
</simpara>
|
|
<note>
|
|
<simpara>
|
|
Se scripts diferentes tem valores diferentes para
|
|
<literal>session.gc_maxlifetime</literal> mas compartilham o mesmo lugar para
|
|
guardar os dados da sessão então o script com o menor valor estará
|
|
limpando os dados. Neste caso, use esta diretiva em conjunto com <link
|
|
linkend="ini.session.save-path">session.save_path</link>.
|
|
</simpara>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.referer-check">
|
|
<term>
|
|
<parameter>session.referer_check</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.referer_check</literal> contém a
|
|
substring que você quer checar contra cada HTTP Referer. Se o
|
|
Referer for enviado pelo cliente e a substring não foi
|
|
encontrada, a id de sessão embutida será marcada como inválida.
|
|
O padrão é uma string vazia.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.entropy-file">
|
|
<term>
|
|
<parameter>session.entropy_file</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.entropy_file</literal> informa o caminho para um
|
|
recurso externo (arquivo) que será usado como uma fonte
|
|
de entropia no processo de criação da id de sessão. Exemplos são
|
|
<literal>/dev/random</literal> ou <literal>/dev/urandom</literal>
|
|
que estão disponíveis em muitos sistemas UNIX.
|
|
</simpara>
|
|
<simpara>
|
|
Este recurso é suportado no Windows. Configurando
|
|
<literal>session.entropy_length</literal> para um valor diferente de zero
|
|
fará o PHP utilizar o Windows Random API como fonte de entropia.
|
|
</simpara>
|
|
<note>
|
|
<simpara>
|
|
Removido no PHP 7.1.0.
|
|
</simpara>
|
|
<simpara>
|
|
<literal>session.entropy_file</literal> tem como padrão
|
|
<literal>/dev/urandom</literal> ou <literal>/dev/arandom</literal>,
|
|
se disponível.
|
|
</simpara>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.entropy-length">
|
|
<term>
|
|
<parameter>session.entropy_length</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.entropy_length</literal> especifica o número
|
|
de bytes que serão lidos do arquivo especificado
|
|
acima. Padrão em <literal>32</literal>.
|
|
</simpara>
|
|
<simpara>
|
|
Removido no PHP 7.1.0.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.use-strict-mode">
|
|
<term>
|
|
<parameter>session.use_strict_mode</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.use_strict_mode</literal> especifica se o
|
|
módulo utilizará o modo id de sessão rigoroso (strict). Se esse modo estiver ativo,
|
|
o módulo não aceitará um id de sessão não inicializado. Se um id de sessão
|
|
não inicializado for enviado pelo browser, um novo id de sessão é devolvido para o browser.
|
|
Aplicações são protegidas da fixação de sessão adotando o
|
|
modo de sessão rigoroso (strict).
|
|
Padrão é <literal>0</literal> (desativado).
|
|
</simpara>
|
|
<note>
|
|
<simpara>
|
|
Ativar <literal>session.use_strict_mode</literal> é mandatório para
|
|
segurança geral das sessões. A todos os sites é recomendado mantê-lo ativado. Veja
|
|
o código em <function>session_create_id</function> para mais detalhes.
|
|
</simpara>
|
|
</note>
|
|
<warning>
|
|
<para>
|
|
Se um manipulador de sessão personalizado registrado via <function>session_set_save_handler</function>
|
|
não implementa <methodname>SessionUpdateTimestampHandlerInterface::validateId</methodname>,
|
|
nem fornece o callback <parameter>validate_sid</parameter>, respectivamente,
|
|
o modo rigoroso(strict) do ID da sessão é efetivamente desativado, independentemente do valor desta diretiva.
|
|
É importante observar que <classname>SessionHandler</classname> <emphasis>não</emphasis>
|
|
implementa <methodname>SessionHandler::validateId</methodname>.
|
|
</para>
|
|
</warning>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.use-cookies">
|
|
<term>
|
|
<parameter>session.use_cookies</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.use_cookies</literal> especifica se o
|
|
módulo utilizará cookies para guardar a id da sessão no lado do
|
|
cliente. O padrão é <literal>1</literal> (habilitado).
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.use-only-cookies">
|
|
<term>
|
|
<parameter>session.use_only_cookies</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.use_only_cookies</literal> especifica se
|
|
o módulo usará <emphasis role="strong">somente</emphasis>
|
|
cookies para guardar a id no lado do cliente.
|
|
Habilitar esta configuração previne ataques envolvendo passagem de
|
|
IDs de sessão nas URLs.
|
|
Padrão <literal>1</literal> (ativado).
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
|
|
<varlistentry xml:id="ini.session.cookie-lifetime">
|
|
<term>
|
|
<parameter>session.cookie_lifetime</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.cookie_lifetime</literal> especifica o tempo de vida do
|
|
cookie em segundos que é enviado para o browser. O valor 0
|
|
significa "até o browser ser fechado". O padrão é
|
|
<literal>0</literal>. Veja também
|
|
<function>session_get_cookie_params</function> e
|
|
<function>session_set_cookie_params</function>.
|
|
</simpara>
|
|
<note>
|
|
<simpara>
|
|
O timestamp de expiração é informado em relação à hora do servidor, que
|
|
não necessariamente coincide com o horário do navegador do cliente.
|
|
</simpara>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.cookie-path">
|
|
<term>
|
|
<parameter>session.cookie_path</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.cookie_path</literal> especifica o caminho para definir
|
|
em session_cookie. O padrão é <literal>/</literal>. Veja também
|
|
<function>session_get_cookie_params</function> e
|
|
<function>session_set_cookie_params</function>.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.cookie-domain">
|
|
<term>
|
|
<parameter>session.cookie_domain</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.cookie_domain</literal> especifica o domínio para
|
|
definir no cookie de sessão. O padrão é nenhum significando o nome do
|
|
servidor que gerou o cookie de acordo com a especificação dos cookies.
|
|
Veja também <function>session_get_cookie_params</function> e
|
|
<function>session_set_cookie_params</function>.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.cookie-secure">
|
|
<term>
|
|
<parameter>session.cookie_secure</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.cookie_secure</literal> especifica se os
|
|
cookies devem ser enviados apenas em conexões seguras. Com esta opção definida
|
|
para <literal>on</literal>, as sessões só funcionam com conexões HTTPS.
|
|
Se estiver em <literal>off</literal>, as sessões funcionam tanto com HTTP quanto
|
|
com HTTPS. O padrão é <literal>off</literal>.
|
|
Veja também
|
|
<function>session_get_cookie_params</function> e
|
|
<function>session_set_cookie_params</function>.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.cookie-httponly">
|
|
<term>
|
|
<parameter>session.cookie_httponly</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Marca o cookie para ser acessível apenas atráves do protocolo HTTP. Isto significa
|
|
que o cookie não será acessível por linguagens de script, como o
|
|
JavaScript. Esta configuração pode efetivamente reduzir o roubo de identidade
|
|
atráves de ataques XSS (apesar de não ser suportado por todos os browsers).
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.cookie-samesite">
|
|
<term>
|
|
<parameter>session.cookie_samesite</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Permite que os servidores declarem que um cookie não deve ser enviado junto com
|
|
solicitações entre sites. Essa afirmação permite que os agentes do usuário reduzam o risco
|
|
de vazamento de informações entre origens e fornece alguma proteção contra
|
|
ataques de falsificação de solicitações entre sites (CSRF). Observe que isso não é suportado
|
|
por todos os navegadores.
|
|
Um valor vazio significa que nenhum atributo de cookie SameSite será definido.
|
|
<literal>Lax</literal> e <literal>Strict</literal> significam que o cookie
|
|
não será enviado entre domínios para solicitações POST; <literal>Lax</literal>
|
|
enviará o cookie para solicitações GET entre domínios, enquanto <literal>Strict</literal>
|
|
não enviará.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.cache-limiter">
|
|
<term>
|
|
<parameter>session.cache_limiter</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.cache_limiter</literal> especifica o método de
|
|
controle de cache para usar em páginas de sessão.
|
|
Pode ser um dos seguintes valores:
|
|
<literal>nocache</literal>, <literal>private</literal>,
|
|
<literal>private_no_expire</literal> ou <literal>public</literal>.
|
|
Padrão <literal>nocache</literal>. Veja também a documentação de
|
|
<function>session_cache_limiter</function> para
|
|
ver o que os valores significam.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
|
|
<varlistentry xml:id="ini.session.cache-expire">
|
|
<term>
|
|
<parameter>session.cache_expire</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.cache_expire</literal> especifica o time-to-live (tempo de vida)
|
|
para páginas de sessão em cache, em minutos, não tendo efeito na limitação de
|
|
nocache. O padrão é <literal>180</literal>. Veja também
|
|
<function>session_cache_expire</function>.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.use-trans-sid">
|
|
<term>
|
|
<parameter>session.use_trans_sid</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.use_trans_sid</literal> se o suporte a
|
|
sid transparente está habilitado ou não. O padrão é
|
|
<literal>0</literal> (desabilitado).
|
|
</simpara>
|
|
<note>
|
|
<simpara>
|
|
Gerenciamento de sessões baseadas em URLs tem riscos de segurança adicionais
|
|
comparados ao gerenciamento baseado em cookies. Usuários podem enviar
|
|
uma URL que contenha uma ID de sessão ativa para seus amigos por
|
|
e-mail ou usuários podem salvar uma URL que contenha uma ID de sessão em
|
|
seus bookmarks e acessar seu site sempre com a mesma ID de
|
|
sessão, por exemplo.
|
|
</simpara>
|
|
<simpara>
|
|
Desde o PHP 7.1.0 uma URL completa, por exemplo https://php.net/, é
|
|
manipulada pelo recurso trans sid. Versões anteriores do PHP manipulavam
|
|
apenas URLs relativas. Alvos de rewrite estão definidos em <link
|
|
linkend="ini.session.trans-sid-hosts">session.trans_sid_hosts</link>.
|
|
</simpara>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.trans-sid-tags">
|
|
<term>
|
|
<parameter>session.trans_sid_tags</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.trans_sid_tags</literal> especifica quais tags HTML
|
|
serão reescritas para incluir IDs de sessão quando o suporte ao SID transparente
|
|
estiver ativo. Por padrão:
|
|
<literal>a=href,area=href,frame=src,input=src,form=</literal>
|
|
</simpara>
|
|
<simpara>
|
|
<literal>form</literal> é uma tag especial. <literal><input hidden="session_id" name="session_name"></literal>
|
|
é adicionado a variável de formulário.
|
|
</simpara>
|
|
<note>
|
|
<simpara>
|
|
Antes do PHP 7.1.0 <link linkend="ini.url-rewriter.tags">url_rewriter.tags</link>
|
|
era utilizada para essa funcionalidade. Desde o PHP 7.1.0, <literal>fieldset</literal>
|
|
não é mais considerada uma tag especial.
|
|
</simpara>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.trans-sid-hosts">
|
|
<term>
|
|
<parameter>session.trans_sid_hosts</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.trans_sid_hosts</literal> especifica quais hosts
|
|
serão reescritos para incluir IDs de sessão quando o suporte ao SID transparente
|
|
estiver ativo. Padrão para <literal>$_SERVER['HTTP_HOST']</literal>
|
|
Vários hosts podem ser especificados, separados por ",", mas sem espaços
|
|
entre os hosts. Por exemplo: <literal>php.net,wiki.php.net,bugs.php.net</literal>
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.sid-length">
|
|
<term>
|
|
<parameter>session.sid_length</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.sid_length</literal> permite especificar o
|
|
tamanho do texto do ID de sessão. IDs de sessão podem ter tamanhos entre 22
|
|
a 256 letras.
|
|
</simpara>
|
|
<simpara>
|
|
O padrão é 32. Para compatibilidade, você pode especificar 32,
|
|
40, etc. IDs de sessão maiores são mais difíceis de adivinhar. Ao menos 32 letras
|
|
é o recomendados.
|
|
</simpara>
|
|
<tip>
|
|
<para>
|
|
Nota de compatibilidade: Utilize 32 para que
|
|
<literal>session.hash_function</literal>=0 (MD5) e
|
|
<literal>session.hash_bits_per_character</literal>=4,
|
|
<literal>session.hash_function</literal>=1 (SHA1) e
|
|
<literal>session.hash_bits_per_character</literal>=6. Utilize 26 para que
|
|
<literal>session.hash_function</literal>=0 (MD5) e
|
|
<literal>session.hash_bits_per_character</literal>=5. Utilize 22 para que
|
|
<literal>session.hash_function</literal>=0 (MD5) e
|
|
<literal>session.hash_bits_per_character</literal>=6. Você precisa
|
|
configurar os valores INI para ao menos 128 bits no ID de sessão. Não
|
|
se esqueça de configurar o valor apropriado em
|
|
<literal>session.sid_bits_per_character</literal>, de outra forma
|
|
você terá um ID de sessão fraco.
|
|
</para>
|
|
</tip>
|
|
<note>
|
|
<simpara>
|
|
Esta configuração foi introduzida no PHP 7.1.0.
|
|
</simpara>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.sid-bits-per-character">
|
|
<term>
|
|
<parameter>session.sid_bits_per_character</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.sid_bits_per_character</literal> permite especificar o
|
|
número de bits codificados no ID de sessão. Os valores possíveis são
|
|
'4' (0-9, a-f), '5' (0-9, a-v), e '6' (0-9, a-z, A-Z, "-", ",").
|
|
</simpara>
|
|
<simpara>
|
|
O padrão é 4. Mais bits resultam em IDs de sessão mais fortes. 5 é
|
|
recomendado para a maioria dos elementos.
|
|
</simpara>
|
|
<para>
|
|
</para>
|
|
<note>
|
|
<simpara>
|
|
Esta configuração foi introduzida no PHP 7.1.0.
|
|
</simpara>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.hash-function">
|
|
<term>
|
|
<parameter>session.hash_function</parameter>
|
|
<type>mixed</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.hash_function</literal> permite especificar o algoritimo de
|
|
hash usado para gerar os IDs de sessão. '0' indica MD5 (128 bits) e
|
|
'1' indica SHA-1 (160 bits).
|
|
</simpara>
|
|
<para>
|
|
Também é possível especificar qualquer um dos algoritmos
|
|
disponibilizados pela <link linkend="ref.hash">extensão hash</link> (se
|
|
habilitada), como <literal>sha512</literal> ou
|
|
<literal>whirlpool</literal>. A lista completa de algoritmos suportados pode
|
|
ser obtida com a função <function>hash_algos</function>.
|
|
</para>
|
|
<note>
|
|
<simpara>
|
|
Removido no PHP 7.1.0.
|
|
</simpara>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.hash-bits-per-character">
|
|
<term>
|
|
<parameter>session.hash_bits_per_character</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.hash_bits_per_character</literal> permite a você definir
|
|
quantos bits são guardados em cada caractere ao converter os dados binários
|
|
de hash para algo legível. Os valores possíveis são '4' (0-9, a-f),
|
|
'5' (0-9, a-v) e '6' (0-9, a-z, A-Z, "-", ",").
|
|
</simpara>
|
|
<note>
|
|
<simpara>
|
|
Removido no PHP 7.1.0.
|
|
</simpara>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.upload-progress.enabled">
|
|
<term>
|
|
<parameter>session.upload_progress.enabled</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Permite o rastreamento do progresso de upload, populando a variável <varname>$_SESSION</varname>.
|
|
O padrão é 1, habilitado.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.upload-progress.cleanup">
|
|
<term>
|
|
<parameter>session.upload_progress.cleanup</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Limpa a informação de progresso assim que todos os dados POST forem lidos
|
|
(upload completado). Padrão 1, habilitado.
|
|
</simpara>
|
|
<note>
|
|
<simpara>
|
|
É altamente recomendável manter esse recurso ligado.
|
|
</simpara>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.upload-progress.prefix">
|
|
<term>
|
|
<parameter>session.upload_progress.prefix</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Um prefixo utilizado na chave da variável <varname>$_SESSION</varname>.
|
|
Essa chave será concatenada com o valor de
|
|
<literal>$_POST[ini_get("session.upload_progress.name")]</literal> para
|
|
prover um índice único.
|
|
</simpara>
|
|
<simpara>
|
|
Padrão "upload_progress_".
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.upload-progress.name">
|
|
<term>
|
|
<parameter>session.upload_progress.name</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
O nome da chave utilizada em <varname>$_SESSION</varname> para armazenar
|
|
a informação de progresso. Veja também
|
|
<link linkend="ini.session.upload-progress.prefix">session.upload_progress.prefix</link>.
|
|
</simpara>
|
|
<simpara>
|
|
Se <literal>$_POST[ini_get("session.upload_progress.name")]</literal>
|
|
não for passado ou estiver indisponível, o progresso de upload não será registrado.
|
|
</simpara>
|
|
<simpara>
|
|
Padrão "PHP_SESSION_UPLOAD_PROGRESS".
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.upload-progress.freq">
|
|
<term>
|
|
<parameter>session.upload_progress.freq</parameter>
|
|
<type>mixed</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Define a frequência com que a informação de progresso de upload será atualizada.
|
|
Isso pode ser definido em bytes ("atualize a informação a cada 100 bytes") ou em percentagens ("atualize a informação de progresso a cada 1% do total do arquivo").
|
|
</simpara>
|
|
<simpara>
|
|
Padrão "1%".
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.upload-progress.min-freq">
|
|
<term>
|
|
<parameter>session.upload_progress.min_freq</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
O intervalo mínimo entre as atualizações, em segundos.
|
|
Padrão "1" (um segundo).
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.session.lazy-write">
|
|
<term>
|
|
<parameter>session.lazy_write</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>session.lazy_write</literal>, quando configurado para 1, significa que os
|
|
dados de sessão somente serão reescrito caso eles mudem. O padrão é 1, habilitado.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</para>
|
|
|
|
<para>
|
|
O progresso de upload não será registrado, a não ser que
|
|
session.upload_progress.enabled esteja habilitado e a variável
|
|
$_POST[ini_get("session.upload_progress.name")] esteja definida.
|
|
Veja <link linkend="session.upload-progress">Progresso de Upload em sessões</link> para mais detalhes dessa funcionalidade.
|
|
</para>
|
|
|
|
</section>
|
|
|
|
<!-- 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
|
|
-->
|