Olá pessoal, tudo bom? Nesse artigo pretendo apresentar uma forma simples de restringir uma página com um nome de usuário e senha. Na verdade é uma forma muito simples mesmo; é recomendada para sistemas pequenos, onde necessita restringir algumas páginas para algum administrador.
Para isso, vamos criar um arquivo chamado restrito.php que terá o seguinte código:
<?php // Definimos o nome de usuário e senha de acesso $usuario = "usuario"; $senha = "senha"; // Criamos uma função que exibirá uma mensagem de erro caso os dados estejam errados function erro(){ // Definindo Cabeçalhos header('WWW-Authenticate: Basic realm="Administracao"'); header('HTTP/1.0 401 Unauthorized'); // Mensagem que será exibida echo '<h1>Voce não tem permissão para acessar essa área</h1>'; // Pára o carregamento da página exit; } // Se as informações não foram setadas if (!isset($_SERVER['PHP_AUTH_USER']) or !isset($_SERVER['PHP_AUTH_PW'])) { erro(); } // Se as informações foram setadas else { // Se os dados informados forem diferentes dos definidos if ($_SERVER['PHP_AUTH_USER'] != $usuario or $_SERVER['PHP_AUTH_PW'] != $senha) { erro(); } } ?>
Creio que não será nem necessário explicar o código. Vale apenas ressaltar que devem ser definidos o nome de usuário e a senha. Agora basta incluir esse arquivo no início das páginas que devem ser restritas. Por exemplo:
<?php // Incluimos o arquivo de restrição require_once("restrito.php"); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Administração</title> </head> <body> <h1>Bem vindo a administração!</h1> </body> </html>
Mas alguns podem pensar: “Quer dizer que toda hora vou ter que digitar o nome de usuário e senha?”, na verdade não. As informações são salvas na sessão, portanto serão perdidas apenas quando o navegador for fechado.
Lembrando que esse script deve ser usado apenas em pequenos sistemas onde há apenas um ou alguns administradores. Esse script é seguro, porém muito limitado. De qualquer forma, ele pode ser muito útil e poupar um tempo de trabalho.
Bom pessoal, por hoje é isso. Espero que esse script venha a ser útil para vocês.
Abraços.