Tutorial – Sistema de Autenticação com PHP – Parte 2
Publicado em PHP setembro 29th, 2009 por: Lucas – Seja o primeiro a comentar!Bem, ontem eu dei uma pequena explicação sobre como funcionam as sessions em php hoje vamos falar um pouquinho sobre o método require_once e como validar usuários com um simples arquivo de include.
1. Utilizando um simples require_once.
Lembram do arquivo a.php que utilizamos ontem ?! Eu modifiquei ele um pouquinho e agora vou chamá-lo de session_create.php. Veja o código abaixo:
Este arquivo irá criar uma sessão com os dados: user,id e um atributo chamado isvalid que é um booleano que vamos utilizar para definir se o usuário esta ou não autenticado em nosso sistema. Veja que eu ainda não expliquei para vocês como realmente autenticar um usuário, tudo que venho explicando até agora é sobre o mecanismo que iremos utilizar no futuro para validar se o usuário que esta acessando a página é um usuário que pode efetivamente acessa-la.
Digamos agora que seu site contenha um arquivo restrito, chamado restrito.php. Para que um usuário possa acessar este arquivo é necessário que ele tenha uma sessão válida.
Vejamos o arquivo restrito.php:
Entendendo o arquivo:
Linha 2: Faz a chamada do arquivo que contém o código de validação.
Linha 3: Imprime alguma coisa para testarmos se o usuário esta autenticado.
Neste momento você deve estar se perguntando sobre o conteúdo do arquivo valida.php, então aqui esta o mesmo.
Bem simples, antes de utilizarmos sessions sempre temos que chamar o método session_start(), depois disto validamos se o usuário é valido, caso contrário enviamos ele para uma página de login, falaremos sobre ela amanhã.
Você deve ter visto um método chamado header. Este método manipula os cabeçalhos enviados pelo servidor ao browser,mas é um muito importante lembrar que: Para utilizar o método header nenhuma saída pode ter sido enviada para o navegador!. Estarei detalhando sobre isto na última parte de nosso tutorial
Basicamente o que o require_once faz é chamar apenas uma vez o arquivo e injetá-lo dentro do interpretador do php, então os 2 arquivos acima são interpretados como se fossem um da seguinte forma:
Assim, toda vez que alguém acessar a página restrito.php o php irá verificar se existe uma sessão válida caso contrario o usuário será redirecionado para uma página , a login.php.
Para criar esta sessão de testes tudo que você tem que fazer é acessar o arquivo create_session.php antes de tentar acessar o arquivo restrito.php.
A esta altura você deve estar se perguntando: E como eu faço logout deste sistema ?!
Bem utilizando isto:
O Método session_destroy(), destrói todas as sessões criadas para o servidor. Isto pode ser um problema em servidores shared, estarei explicando sobre este problema futuramente ,
No momento tudo que você tem a fazer é redirecionar seu browser para o arquivo logout.php e este realizará o “logout” do usuário no sistema.
Amanhã tem mais xD.





