2.9. PHP Cookies e variáveis de sessão



Documentos relacionados
Programação WEB II. Sessions e Cookies. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação web Prof. Wladimir

PHP (Seções, Cookies e Banco de Dados)

2.3. PHP Tipos de dados e operadores

POLÍTICA DE COOKIES. (ii) Consoante o prazo de tempo que permanecem ativados:

Cookies. Krishna Tateneni Jost Schenck Tradução: José Pires

Curso De PHP. Aula 4. Formulários. Cookies. Session. Mail

O que é uma sessão. maneira de preservar dados através de acessos subsequentes.

Programação para Internet I. 1. Servidores web. Nuno Miguel Gil Fonseca

PHP e MySQL Autenticação de Usuários

Bool setcookie (string nome [, string valor [, int validade [, string caminho [, string dominio [, int seguro]]]]] )

Software Adobe DreamWeaver. Requisitos para criar aplicações Web

Manual de Administração Intranet BNI

Programação para a Internet II PHP i18n. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

COM A BOCA NA BOTIJA

Cookies existentes no website e a finalidade com que são utilizados

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Linguagem de Programação III Aula 2 Revisão Parte II

Relatório SQUID e SAMBA. Instalação e Configuração de Servidores de Rede

PHP é um acrónimo para Hypertext Preprocessor.

PHP: Cookies e Sessões

Upload de site via FTP

Gestão de Venda de Jogos

Criação de uma conta num servidor Web Instalação do programa de FTP FileZilla Upload de site via FTP

Como funciona a MEO Cloud?

UIFCUL. Unidade de Informática Faculdade de Ciências Universidade de Lisboa

Microsoft Office FrontPage 2003

POLÍTICA DE PRIVACIDADE

PLANIFICAÇÃO ANUAL ANO LETIVO DE 2013/2014 Curso de Educação e Formação Tipo 3 Nível 2

Programação para Internet

Acessos Convergentes. Manual de Configuração e Utilização

GlobalPhone - Central Telefónica. Manual do Portal de Selfcare Utilizador

Portal AEPQ Manual do utilizador

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc.

[Documentação da Plataforma MY.IPLEIRIA.PT dos Estudantes do IPLeiria]

Programação para Internet

Planificação Anual da disciplina de TIC 9ºANO

Procedimentos para a divulgação de eventos no site da ECUM

Apresentação de SISTEMAS OPERATIVOS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc.

Sites de Terceiros A presente Declaração de Privacidade não é extensível aos sites de terceiros que estiverem ligados a este web site.

Design Doc for Stage 1

COLIBRI Ambiente Colaborativo Multimédia MÓDULO MOODLE. Rui Ribeiro FCCN - Dezembro 2010

Grupo de trabalho sobre a protecção das pessoas singulares no que diz respeito ao tratamento de dados pessoais. Recomendação 1/99

Guia Rápido do Contacts

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Instruções de Instalação BitDisk

Política de cookies. Introdução Sobre os cookies

Demonstração do ActivInspire

Programação para Internet I. 10. Motores de busca. Nuno Miguel Gil Fonseca

Manual de Utilização

EDUTec Learning. José Paulo Ferreira Lousado

Cookies. Krishna Tateneni Jost Schenck Tradução: Lisiane Sztoltz

Política de cookies. Introdução Sobre os cookies

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

Instruções para o participante no Curso de e-learning. Esquizofrenia Questões Aprofundadas

604 wifi. Visite para transferir a versão mais recente deste manual.

Guia Rápido. Versão 9.0. Mover a perícia - não as pessoas

Conselho Geral da Ordem Dos Advogados Departamento Informático. Índice:

SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE 27/02/2012

Vodafone ADSL Station Manual de Utilizador. Viva o momento

Internet e Programação Web

Módulo e-rede OSCommerce v1.0. Manual de. Instalação do Módulo. estamos todos ligados

EIC. Projecto I. Manual do Utilizador. Vídeo Vigilância Abordagem Open Source. Curso: Engenharia de Informática e Comunicações Ano Lectivo: 2005/2006

Guia "Web Connect" Versão 0 POR

HTML. Sessão 1 HTML. Cliente: browser (IE, por exemplo) Servidor: IIS (Internet Information Server), Apache, WebSphere,...

PHP. Hypertext Pre-Processor

Forms Authentication em ASP.NET

Programação para a Internet II PHP AJAX. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Acronis Servidor de Licença. Manual do Utilizador

Programação para Internet I. 2. O protocolo HTTP. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Aplicação Prática de Lua para Web

MANUAL UTILIZADOR SERVIÇO FTP

Especificação da Appliance + SO CAMES - CAixa Mágica Enterprise Server

Instruções para instalar o certificado para acesso a normas do IPQ

O sistema está pedindo que eu faça meu login novamente e diz que minha sessão expirou. O que isso significa?

Prof.: MARCIO HOLLWEG

Portal Sindical. Manual Operacional Empresas/Escritórios

Cenários do CEL. Acessar ao sistema

Ligação com PHC XDPEOPLE

Resolução de avarias de MPEG

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

Laboratório de Sistemas e Redes. Nota sobre a Utilização do Laboratório

Acesso à plataforma File Sender

Gestor de ligações Manual do Utilizador

Sessões. Cookies HTTP Sessões Atributos de sessão

Manual do usuário Sistema de Ordem de Serviço HMV/OS 5.0

O Webconference é uma ferramenta para realizar reuniões online.

Guia de instalação. Configuração necessária Instalação e ativação

SPORTINGBET: POLÍTICA DE PRIVACIDADE

programação de páginas de conteúdo dinâmico

Ligação com Sage Retail XDPEOPLE

Autenticação 802.1x. Configuração SSID eduroam, em Windows XP

Manual do Usuário. E-DOC Peticionamento Eletrônico TST

Desenvolvendo Websites com PHP

Transcrição:

Programação para a Internet II 2.9. PHP Cookies e variáveis de sessão Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Cookies Uma cookie mais não é do que um ficheiro que é criado por determinado site no disco dos clientes e que permite guardar alguma informação sobre este Login, Número de vezes que acedeu ao site, etc. Permitem guardar muito pouca informação (algumas dezenas de kb) As cookies podem ou não ter associada uma data de expiração! É possível guardar a informação encriptada (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 2

Cookies Só o site que criou a cookie a pode abrir para leitura/escrita. As têm a sua utilidade, no entanto, os browsers oferecem a opção de bloquear as cookies, pelo que operações importantes não se devem basear exclusivamente no seu uso. <?php if (!isset($_cookie["nome_da_variavel"])) { setcookie("nome_da_variavel", valor[, data_de_expiração]); }?> (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 3

Cookies (cont.) Caso queiramos que a cookie só seja valida enquanto o browser estiver aberto, faz-se: <?php setcookie("nome_da_variavel", valor);?> Caso queiramos que a cookie tenha um determinado prazo de validade faz-se: <?php setcookie("nome_da_variavel", valor, time() + $x );?> Caso queiramos desactivar uma cookie, faz-se: <?php setcookie("nome_da_variavel", valor, time() - $x );?> (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 4

Variáveis de sessão Uma variável de sessão pode ser encarada como uma mistura de cookie do lado do servidor e uma cookie do lado do cliente, que apenas contêm uma referência para a primeira A cookie do cliente guarda o identificador da sessão (session id), que segue juntamente com qualquer pedido feito ao servidor Permitem guardar muito mais informação do que uma vulgar cookie (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 5

São muito mais seguras! Como tal, são usadas largamente em sistemas de autenticação/ autorização/ controlo de acesso a recursos. Não deverão ser usadas em sistemas com múltiplos computadores. (em alternativa, poderão ser usadas bases de dados, ou sistemas de ficheiros centralizados) (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 6

Todas as variáveis de sessão estão acessíveis através da variável superglobal $_SESSION Expiram: ao fim de um determinado período de tempo definido na configuração do web server; quando se fecha o browser; Ou quando são terminadas explicitamente por ordem do utilizador. (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 7

Iniciar a sessão É sempre necessário iniciar a sessão, isto é, para fazer a linkagem entre a cookie do cliente e a cookie do servidor <?php session_start();?> Este pedaço de código deverá ser sempre o primeiro a surgir num ficheiro em que sejam usadas variáveis de sessão!!! Criar variáveis de sessão <?php $_SESSION["variavel"] = $val; $_SESSION["primeiro_nome"] = "Nuno";?> (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 8

Aceder a variáveis de sessão <?php $_SESSION["nome"] = "ze"; print($_session["nome"]);?> Remover variáveis de sessão <?php unset($_session["nome"]);?> (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 9

Terminar sessão Foram enunciadas anteriormente, algumas das formas de terminar a sessão, no entanto, podemos querer terminar uma sessão manualmente, num mecanismo de logout, por exemplo. <?php session_start(); $_SESSION = array(); session_destroy();?> (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 10

Como foi dito anteriormente, a utilização de variáveis de sessão está dependente do uso de cookies. Então e se o utilizador desactivar as cookies no seu browser? Terá que passar manualmente o session id no endereço do pedido http://localhost/teste.php?phpsessid=be20081806199800da22e24081964000 (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 11

Para tal ser possível, há que verificar no ficheiro php.ini se a opção session.use_cookies tem valor diferente de 0. Para incluir o session id no endereço poderá fazer: ou <?php session_start( ); $url = "/xpto.php?phpsessid=". session_id( );?> <a href="<?=$orderurl?>">create Order</a> <?php session_start( );?> <a href="/order.php?<?=sid?>">create Order</a> (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 12