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.