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



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

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

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

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

Desenvolvendo Websites com PHP

Manual Administrador - Mídia System

Portal Sindical. Manual Operacional Empresas/Escritórios

Cadastramento de Computadores. Manual do Usuário

Programando em PHP. Conceitos Básicos

CONSTRUÇÃO DE BLOG COM O BLOGGER

Processo de Envio de

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

Manual Xerox capture EMBRATEL

Manual de Digitação online de guia de SADT Desenvolvido por: Iuri Silva Setor: Inteligência Corporativa Unimed VR BEM VINDO AO SISTEMA VOXIS!

MANUAL PARA UTILIZAÇÃO DO MOODLE FACULDADE INTERAÇÃO AMERICANA VIRTUAL - Versão: Aluno

Gerenciamento de Contatos

GRUPO ARESTO E-CRM CONTÁBIL. Rua: Farjalla Koraicho, 49 sl

Cartilha da Nota Fiscal Eletrônica do Hábil Empresarial Profissional 7.0. Obrigado por usar nosso software! Koinonia Software Ltda.

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

Web Design Aula 11: Site na Web

Receber intimações: poderão receber intimações em processos eletrônicos nos quais estejam vinculados.

Manual de Instalação e Utilização do Pedido Eletrônico Gauchafarma

Procedimentos para Reinstalação do Sisloc

WebEDI - Tumelero Manual de Utilização

Manual Replicação Manual VPN

MANUAL DO INSTAR-MAIL 1.0. Pagina de login e senha do Instar-Mail

Manual Integra S_Line

Vamos iniciar a nossa exploração do HTTP baixando um arquivo em HTML simples - bastante pequeno, que não contém objetos incluídos.

Pe P d e i d do d o el e et e rôn ô i n co c SI S TE T E A N A BF B A F R A M R A M Manual de Utilização

Manual Comunica S_Line

Central Cliente Questor (CCQ) UTILIZANDO A CCQ - CENTRAL CLIENTE QUESTOR

DPAlmox - Windows MANUAL DO USUÁRIO

Aplicação Prática de Lua para Web

AQUI SEGUEM OS TÓPICOS TRATADOS NESSE GUIA, PARA QUE VOCÊ APRENDA A USAR O SISTEMA CLUBE TURISMO MOBILE.

Programação web Prof. Wladimir

Manual de Utilização das Funções Básicas do Sistema ClinicWeb

Procedimentos para Instalação do Sisloc

1 Natuur Online Cadastre-se Nome, Login Cadastrar.

Apresentação. Nossa sugestão é que você experimente e não tenha medo de clicar!!!

Astra. Introdução e conceitos básicos do sistema

Universidade Federal de Mato Grosso. Secretaria de Tecnologias da Informação e Comunicação. SISCOFRE Sistema de Controle de Frequência MANUAL

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

NetEye Guia de Instalação

Como funciona? SUMÁRIO

Manual do Google agenda. criação e compartilhamento de agendas

Omega Tecnologia Manual Omega Hosting

Manual do Painel Administrativo

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc.

Manual de utilização do STA Web

Desenvolvendo para WEB

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

Tutorial RM. academico.unipe.br ALUNO

Outlook XML Reader Versão Manual de Instalação e Demonstração UNE Tecnologia

INTRODUÇÃO: 1 - Conectando na sua conta

Personalizações do mysuite

Ambiente Moodle 2º Semestre de 2010 Modelo A4

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

Manual de Instalação e Configuração do Primeiro Backup Versão PRO

Orientação a Objetos

Guia Site Empresarial

Fox Gerenciador de Sistemas

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

Manual de Utilização Portal de Serviços do Inmetro nos Estados - PSIE

Inicialização Rápida do Novell Vibe Mobile

1 Cadastre-se Mozilla Firefox. AQUI Esqueci a senha Login Senha. Esqueci a senha Login Enviar Solicitação OBS: Nome: Login:

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

ASSOCIAÇÃO CRISTÃ DE MOÇOS DO RIO GRANDE DO SUL DEPARTAMENTO DE TECNOLOGIA DA INFORMAÇÃO

Manual de uso do aplicativo Filho Sem Fila

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Instalando o Internet Information Services no Windows XP

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT.

1. Escritório Virtual Atualização do sistema Instalação e ativação do sistema de Conexão...5

Moodle - Tutorial para Alunos

Renovação Online de certificados digitais A1 (Voucher)

MÓDULO 5 Movimentações

MANUAL SCCARD. Rev.00 Aprovação: 16/08/2010 Página 1 de 19

UNIVERSIDADE FEDERAL DO AMAPÁ NÚCLEO DE TECNOLOGIA DA INFORMAÇÃO. Manual de Avaliação de Desempenho Cadastro

MANUAL DO USUÁRIO. Projeto/Software/Programa. CDAeM Cadastro de Artistas e Modelos JunioNet. Objetivo desse manual

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

E&L Protocolo, Documentos Eletrônicos e Processos Perguntas Frequentes

Renovação Online de certificados digitais A3 (Voucher)

Guia de Integração para Transferência

WF Processos. Manual de Instruções

Sistema de Gerenciamento Remoto

Guia Rápido de Uso. Aqui seguem os tópicos tratados nesse guia, para que você aprenda a usar o Sistema HOT SMS. SUMÁRIO

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Tutorial contas a pagar

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas

Desenvolvendo Websites com PHP

Procedimentos para Instalação do SISLOC

WordPress Institucional UFPel Guia Rápido

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

Manual da Nota Fiscal Eletrônica

Manual de utilização do sistema de envio de sms marketing e corporativo da AGENCIA GLOBO. V

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Transcrição:

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

Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem do site, é importante que você saiba lidar com cookies ou com sessões; Os Cookies são arquivos-texto que podem ser armazenados no computador do usuário para serem recuperados posteriormente pelo servidor no qual o site está hospedado; Já as Sessões são recursos que podemos utilizar para manter uma conexão com o usuário, enquanto ele estiver navegando pelo site. Veremos esses dois mecanismos a partir de agora nos próximos slides;

Quando você acessa uma página web, a comunicação entre o navegador e o servidor web é feita por meio de um protocolo chamado HTTP [Hypertext Transfer Protocol]; O problema é que esse protocolo não armazena as informações do estado, ou seja, ele trata de forma independente cada requisição das páginas que recebe; Para garantir a manutenção do estado e viabilizar a diminuição/excesso de requisições, é necessário distinguir separadamente quem é cada usuário, e quais são as operações disponíveis para cada um;

Desta forma, é que ambos os mecanismos são importantes, pois eles garantem que todas as informações de um usuário serão mantidas durante todo o tempo de navegação, e caso necessário, por inúmeras vezes quando os cookies forem armazenados; Juliano Niederauer (2011) explica em seu livro que os cookies e sessões podem ser utilizados no dia-adia diante dos seguintes cenários: o Autenticação de usuário: a criação de um sistema que implemente um login, autenticação e logout, o que garante o acesso do conteúdo somente aos usuários autorizados;

o o o Cesta/Carrinho de compras: utilizado(a) em sites de comércio eletrônico para armazenar todos os produtos já selecionados pelo cliente para compra, enquanto ele navega pelo site da loja; Exibição de anúncios ou imagens: para não exibir mais de uma vez um mesmo anúncio ou uma imagem para o usuário é necessário manter informações sobre as imagens que já foram exibidas; Personalização de páginas: se considerarmos, por exemplo, uma livraria virtual, poderíamos exibir um anúncio de um livro de culinária, caso o usuário tivesse feito uma pesquisa pela palavra culinária na última vez em que acessou o site[niederauer, 2011];

Os cookies podem ser mantidos em uma página utilizando um comando simples em PhP. A própria linguagem oferece uma função conhecida como setcookie, que envia cookies para o computador o usuário; Essa função é usada tanto para definir um cookie como para excluí-lo. A sintaxe é simples, como podemos observar no seguinte exemplo: bool setcookie (string nome[, string valor[, int validade [, string caminho [, string domínio [, int seguro [, bool somente_http]]]]]]

Parâmetro nome valor validade caminho domínio Descrição Indica o nome do cookie que está sendo enviado e é o único parâmetro obrigatório para a função. É o valor do cookie. Se não for fornecido, o servidor tentará excluir o cookie com o nome especificado. Define o tempo de validade do cookie. Deve ser expresso no formato-padrão Unix (segundos após 1º de janeiro de 1970, à 0h). Caminho no servidor que o cookie está disponível. Se for definido o valor /, estará disponível para todo domínio através do parâmetro domínio. O valor-padrão é o diretório pela qual foi definido. Domínio para o qual o cookie estará disponível. seguro É um valor (0 ou 1) que indica se o cookie é seguro. Se for o valor 1, o cookie só será transmitido se a conexão for segura (HTTPS). somente_http Se for igual a TRUE, o cookie estará acessível apenas sobre o protocolo HTTP. Isso significa que o cookie não estará acessível para linguagens de script, como o JavaScript.

Se for utilizado somente o parâmetro nome, o servidor tentará excluir o cookie do computador do usuário. Portanto, para definir um cookie, devemos utilizar no mínimo os parâmetros nome e valor; Para excluir o cookie criado anteriormente basta executar o comando: Para criar, por exemplo, um cookie válido por dois dias(48 horas), podemos utilizar a função time:

Observe que após a função time, instanciamos um valor de 172800. Esse valor representa o total de segundo das 48 horas que será o prazo estabelecido para o vencimento da sessão criada pelo cookie; Existem duas formas de acessar, por meio do PhP, os cookies enviados para a máquina do usuário. Uma delas, e a mais recomendada, é por meio do array superglobal $_COOKIE; Se você definiu um cookie chamado nome: Na próxima página acessada pelo usuário, esse valor poderá ser inicializado por:

Esses sistemas de cookies são utilizados em diversos tipos de sites. Alguns utilizam para proteger um conteúdo que não é gratuito, permitindo o acesso somente de usuários autorizados; Veremos agora como criar um sistema simples de login para o seu site. O sistema será dividido em três partes: o o o Página de login, que recebe os dados do usuário, verifica se ele está cadastrado e cria os cookies; Rotina de validação para ser utilizada nas páginas que fazem parte das áreas restritas; Página de logout para os usuários que estão autenticados(realizar exclusão dos cookies);

Primeiramente iremos criar uma tabela de usuários em nosso banco de dados. Utilize a mesma base [bdloja] que criamos nas aulas passadas para garantir o acesso pela aplicação Loja Pronto que implementamos. O script em SQL será o seguinte: Lembre-se de que antes de criar a tabela, você precisará informar a base utilizada:

Após a criação da tabela e a inclusão de alguns usuários, o próximo passo é implementar um formuláriodeloginquerecebaonomedousuárioe sua respectiva senha; O formulário verifica se o login e a senha estão disponíveis e corretos no banco, e em seguida, cria os cookies no computador do usuário e o direciona à página inicial para usuários do site; O formulário tem apenas dois campos e um botão de enviar. É importante que a tela seja implementada separadamente do código de controle[php] seguindo basicamente o escopo:

Tela inicial de login[niederauer, 2011];

Crie no projeto ProjLoja um novo arquivo PhP e o nomeie como formlogin.php. O código-fonte desse formulário será o seguinte: [NIEDERAUER, 2011]

Iremos implementar agora o login.php:

Veja que a consulta é realizada no banco para verificar se o usuário existe. Caso exista, a senha digitada é passada como parâmetro para ser comparadacomasenhaqueestánabasededados; Depoisqueousuáriofezologin,oscookiesjáforam armazenados na máquina. Entretanto, algo importante a ser lembrado é que todas as páginas posteriores à tela login só poderão ser inicializadas quando o mesmo estiver autenticado ao sistema; Para garantir a realização dessa autenticação, o PhP trabalha com duas operações básicas: verificação e validação dos cookies;

A validação também configura um processo simples em que, primeiro, há a verificação se de fato os cookies existem no computador do usuário; Em seguida, os cookies, quando forem identificados, são padronizados para serem requeridos em todas as demais páginas que implementem a validação para proverem suas devidas funcionalidades; Isso significa dizer que o usuário só poderá disponibilizar seus cookies na página de login, e todas as demais páginas só poderão disponibilizar suas funcionalidades após terem a confirmação de que os cookies estão realmente disponíveis;

Vejamos o código-fonte de validação dos cookies, de autoria de Juliano Niederauer, retirado do livro Desenvolvimento de Sites com PhP, de 2011:

Continuação do código-fonte: Após implementar o código de validacookies.php, basta colocar uma chamada para esse include no topo de todas as páginas que devem ser protegidas;

Para o logout.php, a operação também é simples. O programa nada mais é do que a exclusão dos cookies criados no momento do login, que armazenamasenhaeonomedousuário; O código-fonte redireciona a página de início após a exclusão dos registros de acesso do usuário. A partir desse momento, o usuário só poderá operar normalmente as funcionalidades se realmente efetuar o processo de login novamente:

Ao final da implementação do nosso exemplo teremos quatro janelas a mais: um formulário de login, o código de controle do login, o código de validação dos cookies e a janela de logout para o sistema; É importante salientar que esse exemplo apenas fixa os cookies e gera o estado de sessão, mas não monitora a mesma. Caso precisamos monitorar [tempo, quantidade de acesso, registros, etc.] as sessões, a implementação deverá utilizar outros parâmetros mais avançados que a linguagem disponibiliza através do seu framework;

Alguém tem: Dúvidas? Perguntas? Sugestões? Quarta lista de exercícios da Unidade II disponível já no site: http://hugovlsouza.com