sessao
DESCRIPTION
Sessões, em Linguagem PHPTRANSCRIPT
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