No meu projeto ainda não existe autenticação de usuário e senha, eu fiz um login bem safado, usando a tecnologia do $_SESSION.
Ontem, no entanto, encontrei no Google, o seguinte código:
astudy2.php
<?php
if(!isset($_SERVER['PHP_AUTH_USER'])){
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Texto enviado caso o usuário clique no botão Cancelar';exit;}else{
echo "<p>Olá, {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>Você digitou {$_SERVER['PHP_AUTH_PW']} como sua senha.</p>";}?>
O código é pequeno e bem difícil de entender. Tentei executar novamente, mas não consegui. Para executar esse código, eu precisei fechar o navegador.
Para ver se era possível executar o mesmo código sem precisar fechar o navegador, eu criei o seguinte código:
astudy.php
<?php
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Fale com o administrador para recuperar a sua senha';
$usuario=$_SERVER['PHP_AUTH_USER'];
$senhausuario=$_SERVER['PHP_AUTH_PW'];
$autorizados=["João","Maria","José"];
$senhas=["1234","4321","1111"];if($usuario==$autorizados[0]&&$senhausuario==$senhas[0]){header("location:joao.php");}if($usuario==$autorizados[1]&&$senhausuario==$senhas[1]){header("location:maria.php");}if($usuario==$autorizados[2]&&$senhausuario==$senhas[2]){header("location:jose.php");}?>
Esse código só funciona uma vez. Para trazer de volta a tela de login é necessário fechar o navegador.
Esse é um recurso bacana, mas entender o código é bem complicado.
Na minha opinião, o primeiro header abre a janela de autenticação, onde o usuário digita a sua conta e senha, e ele vai ficar preso nessa tela até acertar.
O segundo header é um protocolo de comunicação do PHP com o navegador, sem esse protocolo, o navegador não executa o primeiro header.
O primeiro echo mostra uma mensagem para o usuário que desistir de logar.
As outras instruções ajudam ao autenticador a identificar qual o usuário está autorizado a entrar no sistema.
Eu gostei. Mas para mudar de usuário, você vai precisar fechar o navegador. Ou encontrar alguém que conheça o PHP bem a fundo, o que não é o meu caso.
Pergunta
Frank K Hosaka
No meu projeto ainda não existe autenticação de usuário e senha, eu fiz um login bem safado, usando a tecnologia do $_SESSION.
Ontem, no entanto, encontrei no Google, o seguinte código:
O código é pequeno e bem difícil de entender. Tentei executar novamente, mas não consegui. Para executar esse código, eu precisei fechar o navegador.
Para ver se era possível executar o mesmo código sem precisar fechar o navegador, eu criei o seguinte código:
Esse código só funciona uma vez. Para trazer de volta a tela de login é necessário fechar o navegador.
Esse é um recurso bacana, mas entender o código é bem complicado.
Na minha opinião, o primeiro header abre a janela de autenticação, onde o usuário digita a sua conta e senha, e ele vai ficar preso nessa tela até acertar.
O segundo header é um protocolo de comunicação do PHP com o navegador, sem esse protocolo, o navegador não executa o primeiro header.
O primeiro echo mostra uma mensagem para o usuário que desistir de logar.
As outras instruções ajudam ao autenticador a identificar qual o usuário está autorizado a entrar no sistema.
Eu gostei. Mas para mudar de usuário, você vai precisar fechar o navegador. Ou encontrar alguém que conheça o PHP bem a fundo, o que não é o meu caso.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.