Tag: Tutorial PHP 5
HTTP Autentication via PHP
by Claudney on fev.16, 2009, under Dicas, PHP, Programação
Autenticação via HTTP no PHP só é disponível quando o ele é for executado como módulo do Apache, enviando um header de "Authentication Required" que solicita uma janela pedindo usuário e senha no navegador.Para utilização deste método de autenticação é necessario que o PHP esteja sendo executado como módulo no Apache.
Aqui vou demostrar um breve tutorial para utilizar este recurso em suas aplicações web.
Enviar o header solicitando a autenticação no nagedador.
<?php if (!isset($_SERVER['PHP_AUTH_USER'])) { header('WWW-Authenticate: '. ' Basic realm="Informe seu usuário e senha de acesso"'); header('HTTP/1.0 401 Unauthorized'); echo 'Mensagem caso o usuário clique no botão cancelar'; exit; } else { echo "Olá, {$_SERVER['PHP_AUTH_USER']}."; echo "Você digitou {$_SERVER['PHP_AUTH_PW']} como sua senha."; } ?>
Quando executado ele guarda o usuario senha nas variaveis: PHP_AUTH_USER, PHP_AUTH_PW, e AUTH_TYPE que ficam armezanadas em $_SERVER,
para não solicitar o usuário e senha todas em todas as páginas solicitadas após a primeira autenticação.
Diga adeus as janelinas de login em HTML
Abaixo uma notinha do bem básica direto do php.net:
Cuidado com browsers Internet Explorer bugados por aí. Eles parecem muito minuciosos sobre a ordem dos cabeçalhos. Enviar o cabeçalho WWW-Authenticate antes do cabeçalho HTTP/1.0 401 resolve isso por enquanto.
