sessao

Post on 04-Jul-2015

276 Views

Category:

Education

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Sessões, em Linguagem PHP

TRANSCRIPT

Prof. Mauricio Garcia Nascimento Prof. Daniel Arndt Alves

Introdução ao Desenvolvimento de Sistemas Web com PHP Programa de Verão IME-USP 2014

Sessão

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados

Prof. Daniel Arndt Alves – progdan@progdan.pro.br

Manutenção do estado de um sistema Web

} Como manter o estado das variáveis num sistema Web entre as requisições do usuário? } Protocolo HTTP é “Stateless” (sem manutenção de estado)

!} Dúvidas:

} Como autenticar um usuário e garantir seu acesso seguro em páginas restritas?

} Como garantir que estas páginas restritas sejam acessadas apenas por usuários autenticados?

} Caso prático: como implementar um carrinho de compras numa loja virtual?

!2

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados

Prof. Daniel Arndt Alves – progdan@progdan.pro.br

} Sessões } Modo seguro para armazenamento de variáveis

} Armazenadas no Servidor Web } Usuário não tem acesso direto aos dados da sua sessão } Uma sessão pode conter um conjunto de variáveis do usuário } Fácil implementação } Array $_SESSION

} Uma sessão é identificada atravésdo seu Session ID

!3

Manutenção do estado de um sistema Web

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados

Prof. Daniel Arndt Alves – progdan@progdan.pro.br

Sessões

Repositóriode sessões

!4

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados

Prof. Daniel Arndt Alves – progdan@progdan.pro.br

Sessões

1 – Cliente acessa uma página

2 – Servidor envia Cookie com Session ID3 – Session ID é armazenado pelonavegador

5 – Nova requisição ao Servidor 4 – Navegador recuperar Session ID armazenado

Repositóriosessões

!5

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados

Prof. Daniel Arndt Alves – progdan@progdan.pro.br

Função session_start

} Criação / abertura de uma sessão no servidor } Lê as variáveis de sessão do usuário e prepara o Array $_SESSION com estes valores

} Por padrão, nenhum comando de saída pode ser executado pelo script antes de session_start !

} Atribuição de valores $_SESSION['username'] = 'jsilva';

} Leitura de valores echo $_SESSION['username'];

!6

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados

Prof. Daniel Arndt Alves – progdan@progdan.pro.br

Função session_destroy

} Destruir uma sessão no servidor, de acordo com o Session ID enviado pelo browser !

} Exemplo !

session_start(); //abrir a sessão $_SESSION = array(); //segurança adicional session_destroy(); //destruir a sessão

!7

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados

Prof. Daniel Arndt Alves – progdan@progdan.pro.br

Segurança para páginas restritas

!!!

validar / validar dados

login.php

formulário

seguro.php

ok

Envia formulário

logout.php

Caminho esperado Acesso indevido Páginas públicas Páginas restritas / seguras

!8

top related