Para retomar as atividades vamos falar sobre autenticação de usuários, que na grande maioria das vezes é feita através de páginas com formulários personalizados. Hoje vou mostrar como fazer a autenticação através do HTTP, sem a necessidade de criar uma página personalizada para isso.

O PHP tem a capacidade de receber as variáveis que são originadas da autenticação HTTP, e com isso tratá-las adequadamente, verificando se as informações passadas são legítimas, independente do local onde a informação está armazenada, seja em um banco de dados, em um arquivo ou até mesmo em um servidor LDAP.

Não é necessário escrever muito código para montar um sistema de autenticação HTTP, basta fornecer ao browser os cabeçalhos correspondentes, assim o comportamento dele será igual ao do servidor web quando pede uma autenticação de usuário.
Veja abaixo um pequeno código que informa ao browser os cabeçalhos necessários para a identificação de uma autenticação HTTP.

Código:

if(!isset($_SERVER['PHP_AUTH_USER'])){
header('WWW-Authenticate: Basic realm="Autenticação HTTP"');
header('HTTP/1.0 401 Unauthorized');
echo "<h1>Autenticação Necessária<&#47;h1>";
exit;
} else {
echo "Usuário: {$_SERVER&#91;'PHP_AUTH_USER'&#93;}<br&#47;>";
echo "Senha: {$_SERVER&#91;'PHP_AUTH_PW'&#93;}<br&#47;>";
}

Esse código informa o cabeçalho que indica a autenticação HTTP (Linha 2), o código do erro caso não seja feita com sucesso a autenticação (Linha 3). Nas demais linhas, são impressões de textos feitas na página onde o código estiver inserido.

O código é bem simples, mas ele pode ficar mais robusto e com uma maior segurança se for utilizada a criptografia de dados.

Em uma próxima oportunidade falaremos um pouco sobre criptografia.

Até a próxima.