sessao

8
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

Upload: daniel-arndt-alves

Post on 04-Jul-2015

276 views

Category:

Education


4 download

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 - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

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 - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

} 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 - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

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 - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

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 - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

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 - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

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 - [email protected] - todos os direitos reservados

Prof. Daniel Arndt Alves – [email protected]

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