Baixe Programação para Internet - Cookies e Sessões e outras Manuais, Projetos, Pesquisas em PDF para Desenvolvimento de Aplicações para Internet, somente na Docsity!
Programação para Internet
Módulo 9
Cookies HTTP e Sessões
Prof. Dr. Daniel A. Furtado
Universidade Federal de Uberlândia
Faculdade de Computação
Um cookie HTTP (ou simplesmente cookie ) é um pequeno bloco
de dados enviado por um website para ser armazenado no
computador do usuário por meio do navegador de Internet;
Com cookies , websites podem salvar pequenas quantidades de
dados no computador do usuário para acesso posterior,
inclusive depois de dias ou meses;
Porém, o usuário pode desativar o suporte a cookies em seu
navegador;
Por meio dos cookies um website pode descobrir, por exemplo,
a frequência em que um visitante o acessa, quais páginas e
produtos ele acessa, o caminho percorrido dentro do site, as
buscas realizadas no site, etc.
Cookies
s etcookie deve ser chamada antes do script produzir
qualquer saída, uma vez que o cookie é enviado ao
navegador na forma de cabeçalho HTTP;
Se a data de expiração não for informada, o cookie expirará
ao término da sessão de navegação (fechar o navegador)
Uma vez criado, o cookie será enviado automaticamente
para o servidor no próximo acesso;
No PHP, o valor do cookie pode ser resgatado por meio do
array super global $_COOKIE
$valor = $_COOKIE[“nomeDoCookie”];
Criando e Acessando um Cookie em PHP
Exemplo:
Criando e Acessando um Cookie em PHP
"; } else { echo ‚Cookie ‘nomeUsuario’ encontrado‚; echo ‚Seu valor é: ". $_COOKIE["nomeUsuario"]; }
Para visualizar os cookies armazenados em seu computador, no
Google Chrome, acesse:
• Configurações -> Avançado -> Privacidade e Segurança -> Configurações do
Site -> Ver permissões e dados armazenados em site
• Ou digite na barra: chrome://settings/content/all
Para visualizar os cookies criados pelo website corrente no
Google Chrome, tecle F12, escolha Application -> Storage ->
Cookies:
Visualizando os Cookies no Chrome
Para modificar o valor de um cookie, use a função
setcookie novamente definindo o seu novo valor:
setcookie ( nomeDoCookie, novoValor, dataDeExpiracao)
Para excluir um cookie, utilize a função setcookie
definindo uma data de expiração passada:
setcookie ( nomeDoCookie, novoValor, time() - 3600 )
Modificando e Excluindo um Cookie
Sessões em PHP
Em algumas situações pode ser necessário armazenar dados do usuário
temporariamente de tal forma que esses dados possam ser compartilhados
facilmente entre os scripts;
Por exemplo, em um sistema web de acesso restrito é desejável armazenar
temporariamente alguns dados do usuário logo após o seu login, como o ID do
usuário, e-mail, data e hora do login , dados do navegador, etc. A ideia é
compartilhar esses dados com todos os scripts da parte restrita enquanto o
usuário estiver logado no sistema (e sem salvar os dados em cookies no
computador do usuário);
Com essa finalidade, o PHP disponibiliza o conceito de variáveis de sessão ;
Variáveis de sessão também podem ser utilizadas, por exemplo, para
implementação da cesta virtual de compras de um website de e-commerce.
Neste caso, uma possibilidade é armazenar os dados dos itens já selecionados
pelo usuário em variáveis de sessão.
Sessões em PHP - Introdução
Exemplo: anexos/ex03-sessao2.php
Acessando as Variáveis de Sessão
";
echo "Seu e-mail eh $email ";
echo "Seus dados foram armazenados em variaveis de sessao pela pagina anterior";
Programação para Internet Prof. Dr. Daniel A. Furtado – Adaptado de W3Schools.com 13
Quando se utiliza sessões os dados são armazenados no
servidor (e não no computador do usuário, como nos cookies );
Apenas o código da sessão (ID) é armazenado no computador
do usuário por meio de um cookie (mas não os dados em si).
Assim, tal cookie fornece apenas uma referência para a correta
localização dos dados no servidor;
Por padrão, as variáveis de sessão ficam disponíveis até o
usuário fechar o navegador.
Sessões em PHP - Funcionamento
Sessões em PHP
Função/Variável PHP Descrição
session_start (^) Função PHP. Cria uma nova sessão para o usuário (caso não
exista) ou abre uma sessão já existente.
OBS : Deve ser chamada no início do script PHP, antes de
qualquer código HTML
$_SESSION (^) Array super global. Permite criar e acessar as variáveis de
sessão.
session_unset (^) Remove todas as variáveis da sessão iniciada com
session_start (apenas apaga as variáveis de $_SESSION)
session_destroy (^) Finaliza a sessão removendo os dados efetivamente
armazenados no servidor relativos à sessão
Vantagens de se utilizar sessões :
• Possibilidade de armazenar uma quantidade maior de dados
utilizando sessões - cookies possuem tamanho limitado (em geral,
no máximo 4 KB por cookie);
• Possível redução do tráfego de dados entre cliente e servidor, pois
apenas o pequeno cookie que armazena o identificador da sessão
precisa ser enviado ao servidor a cada acesso;
• Maior segurança dos dados armazenados: apenas os scripts no
servidor podem acessar os dados de sessões (por outro lado,
cookies no cliente podem ser visualizados e editados facilmente)
Vantagens de se utilizar cookies :
• Possibilidade de armazenar os dados no computador do usuário por
um longo período de tempo (já os dados das sessões são apagados
quando o usuário fecha o navegador)
Cookies vs Sessões