Autenticação de sites com PHP e MySQL
Neste artigo pretendo mostrar uma maneira fácil, simples e segura de fazer um sistema de autenticação em PHP com MySQL. Todas as sessões são registradas em um banco de dados com o IP, data e hora de acesso, deixando um enorme histórico excelente para futuras auditorias. Procurarei detalhar o máximo possível para facilitar a compreensão do artigo.
Parte 4: Protegendo cada arquivo individualmente
A página de login tem a função de um porteiro, que confere os dados do usuário e se forem positivos, redireciona-o para uma página, aqui denominada index.php. Caso os dados não confiram com o banco de dados, os usuários ficam barrados na porta.
Esta é uma ótima medida de segurança se não fosse por um problema: O que impede do cliente digitar a URL de uma página diretamente no navegador, sem passar pelo porteiro? O que aconteceria se ele fizesse isso?
Obviamente teria acesso a qualquer outra página e o tal "porteiro" não barraria nada porque o cliente estaria "pulando o muro" e uma vez dentro do prédio o acesso não é mais questionado.
Na verdade, o trabalho que devemos ter é de cercar o sistema de muros altos e intransponíveis, de forma que só seja possível entrar passando pelo porteiro. Desta forma, sim, só teria acesso aqueles que receberam autorização.
Para fazer isso colocaremos na primeira linha de cada arquivo uma verificação de autenticação, ou seja, se o cliente foi autenticado com sucesso na tela de login, poderá ter acesso ao arquivo.
Esta é uma ótima medida de segurança se não fosse por um problema: O que impede do cliente digitar a URL de uma página diretamente no navegador, sem passar pelo porteiro? O que aconteceria se ele fizesse isso?
Obviamente teria acesso a qualquer outra página e o tal "porteiro" não barraria nada porque o cliente estaria "pulando o muro" e uma vez dentro do prédio o acesso não é mais questionado.
Na verdade, o trabalho que devemos ter é de cercar o sistema de muros altos e intransponíveis, de forma que só seja possível entrar passando pelo porteiro. Desta forma, sim, só teria acesso aqueles que receberam autorização.
Para fazer isso colocaremos na primeira linha de cada arquivo uma verificação de autenticação, ou seja, se o cliente foi autenticado com sucesso na tela de login, poderá ter acesso ao arquivo.
Quanto aos arquivos com outras estensões que não php, não existe uma opção que faça o php processar todo e qualquer tipo de arquivo ? Seria meio que um disfarce para o arquivo onde o php intercepta o carregamento e faz todas as verificações como se quele fosse um arquivo php real.
Até mais.