Analista Judiciário - Tecnologia da Informação - Analista de Sistemas
João é desenvolvedor da Assessoria de Soluções em Software (ASS) de um tribunal. Ele está fazendo uso do suporte a sessões no PHP (versão 8) de modo a preservar certos dados através dos acessos subsequentes.Sendo assim, João utilizará a função de manipulação de sessão:
A"session_abort()", que encerra a sessão liberando o array $_SESSION e todas as variáveis atualmente registradas na sessão;
B"session_cache_limiter()", definida como "private", que rejeita o cache do cliente, mas permite que o proxy armazene o conteúdo do cache;
C"session_regenerate_id()", que substitui o identificador da sessão atual por um novo identificador reiniciando as informações da sessão atual;
D"session_destroy()", que destrói os dados registrados em uma sessão, sem apagar o cookie de sessão nem as variáveis globais associadas à sessão atual;
E"session_cache_expire()", que define a validade, em segundos, para uma sessão e deve ser chamada para cada requisição, após a função "session_start()".
Revelar gabarito e comentário▾
GabaritoD — "session_destroy()", que destrói os dados registrados em uma sessão, sem apagar o cookie de sessão nem as variáveis globais associadas à sessão atual;
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Sessões no PHP – Funções de Manipulação
Gabarito: letra D. A única alternativa que descreve corretamente o comportamento de uma função de sessão é a D: session_destroy() destrói os dados registrados na sessão, mas não apaga o cookie de sessão nem as variáveis globais associadas. As demais alternativas contêm erros conceituais.
Funções de sessão (PHP): session_abort() (Descarta alterações da requisição, Não encerra a sessão, Não libera $_SESSION); session_cache_limiter('private') (Permite cache no cliente, Bloqueia cache em proxy); session_regenerate_id() (Novo ID para a sessão, Não reinicia os dados); session_destroy() (Remove dados do servidor, Não apaga cookie, Não altera variáveis globais); session_cache_expire() (Validade em minutos, Deve ser antes de session_start())
Análise das alternativas
Alternativa A — ❌ Incorreta
A descrição de session_abort() está errada. Essa função não encerra a sessão nem libera o array $_SESSION; ela apenas descarta as alterações feitas na sessão desde o início da requisição e mantém a sessão ativa.
Alternativa B — ❌ Incorreta
session_cache_limiter('private') define que o conteúdo pode ser armazenado em cache no cliente, mas não pode ser armazenado em proxies. A alternativa inverte o efeito.
Alternativa C — ❌ Incorreta
session_regenerate_id() gera um novo identificador para a sessão, mas não reinicia as informações da sessão; os dados são preservados.
Alternativa D — ✅ Correta ⟵ GABARITO
session_destroy() remove todos os dados da sessão armazenados no servidor, mas não remove o cookie de sessão (a menos que explicitamente) nem altera as variáveis globais. A descrição está em conformidade com a documentação do PHP.
Alternativa E — ❌ Incorreta
session_cache_expire() define a validade do cache de página em minutos (não segundos) e deve ser chamada antes de session_start(), não após.
NÃO CAIA NESSA!
A banca troca o comportamento real de cada função, especialmente invertendo efeitos de cache e confundindo session_abort() com session_destroy(). Memorize a finalidade exata de cada função para não cair nessas inversões.