
index.php age como um porteiro: direciona automaticamente o usuário para a área correta com base no estado da sessão. Nunca há acesso direto ao dashboard sem autenticação.db.php cria automaticamente o banco database.db na primeira execução. A tabela usuarios armazena todos os dados necessários para autenticação.cadastro.php realiza uma série de validações antes de salvar qualquer dado. Cada verificação protege a integridade do sistema e a experiência do usuário.filter_var().password_hash() com o algoritmo bcrypt para gerar um hash seguro e irreversível:$hash = password_hash(
$_POST['senha'],
PASSWORD_DEFAULT
);login.php busca o usuário pelo e-mail e valida a senha usando password_verify(). Em caso de sucesso, a sessão é iniciada com segurança.password_verify() compara a senha digitada com o hash armazenado de forma segura.$_SESSION para identificação nas próximas páginas.session_regenerate_id() cria um novo ID de sessão, prevenindo session fixation.dashboard.php é a área restrita do sistema. A sessão é verificada a cada requisição — sem sessão válida, o usuário é redirecionado imediatamente.$_SESSION no início da páginalogin.php se não autenticadologout.php encerra a sessão em três etapas:$_SESSION = []session_destroy() no servidorpassword_hash() e password_verify() com bcrypt para armazenar e validar senhas.session_start(), $_SESSION, session_regenerate_id() e session_destroy().filter_var() para e-mails, htmlspecialchars() contra XSS e operador ?? para defaults.
pdo_sqlite habilitadacd nome-da-pasta.php -S localhost:8000http://localhost:8000database.db é criado automaticamente na primeira requisição.