O documento discute maneiras de manter o estado de um sistema web entre requisições do usuário, incluindo o uso de sessões armazenadas no servidor que identificam usuários através de um ID de sessão. Ele também aborda como autenticar usuários e garantir acesso seguro a páginas restritas.
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
Sessao
1. Sessão
Prof. Mauricio Garcia Nascimento
Prof. Daniel Arndt Alves
Introdução ao Desenvolvimento de Sistemas Web com PHP
Programa de Verão IME-USP 2014
2. 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:
}
}
}
}
!2
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?
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
3. Manutenção do estado de um sistema Web
Sessões
}
}
Modo seguro para armazenamento de variáveis
}
}
}
}
}
}
!3
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és
do seu Session ID
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
4. Sessões
Repositório
de 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
5. Sessões
1 – Cliente acessa uma página
2 – Servidor envia Cookie com Session ID
5 – Nova requisição ao Servidor
3 – Session ID é
armazenado pelo
navegador
4 – Navegador recuperar
Session ID armazenado
Repositório
sessõ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
6. 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
7. Função session_destroy
Destruir uma sessão no servidor, de acordo com o
Session ID enviado pelo browser
!
Exemplo
!
}
}
session_start();
$_SESSION = array();
session_destroy();
!7
//abrir a sessão
//segurança adicional
//destruir a 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
8. Segurança para páginas restritas
login.php
seguro.php
logout.php
ok
!
formulário
!
!
validar / validar
dados
Envia formulário
Caminho esperado
Acesso indevido
Páginas públicas
Páginas restritas / seguras
!8
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