Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Segurança: Autenticando o PHP com HTTP (Authentication Required)
Linux user
leogenilhu
15/03/2006
Um dos modos muito seguros para fazer autenticação de usuário em uma área restrita é usando a autenticação HTTP. Essa autenticação só é possível para os PHPs que estão compilados como módulos do Apache. Aqui vamos ver as vantagens e os perigos deste tipo de autenticação.
Por: leo genilhu
[ Hits: 19848 ]
Conceito: 7.0   3 voto(s)3 voto(s)3 voto(s)3 voto(s)3 voto(s) + quero dar nota ao artigo

Segurança: Autenticando o PHP com HTTP (Authentication Required)

Um dos modos muito seguros para fazer autenticação de usuário em uma área restrita é usando a autenticação HTTP. Essa autenticação só é possível para os PHPs que estão compilados como módulos do Apache. Vamos ver as vantagens e os perigos desta autenticação.

Como funciona?
Quando o PHP está compilado como módulo do Apache, é possível usar a função nativa que envia uma janela de entrada "Authentication Required" ao servidor web, que por sua vez requisita ao browser do cliente uma tela de diálogo de entrada para usuário e senha. Assim que o usuário preencher seu login e senha, a URL contendo o script PHP será chamada de novo com as variáveis PHP_AUTH_USER, PHP_AUTH_PW, e AUTH_TYPE.

Estas variáveis contém o nome de usuário, login, senha e tipo de autenticação, sendo esta uma informação muito importante para nosso script de validação. Estas informações são enviadas respectivamente nessa ordem para o servidor. A partir daí essas variáveis pré-definidas são achadas nos arrays e $HTTP_SERVER_VARS.

OBS: $_SERVER é um array contendo informações como headers com caminhos e localizações do script etc. A variável $_SERVER foi introduzida a partir da versão 4.1.0. Os itens deste array são criados pelo servidor web. Não há garantias que todos os servidores web geram geram estas variáveis alguns servidores são configurados para omitem esta variável.

Veja um exemplo de código:

<?php
  if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="Minha intranet"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Operação cancelada! Você não logou!!';
    exit;
  } else {
    echo "<p>Olá, {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>Sua senha é : {$_SERVER['PHP_AUTH_PW']}.</p>";
  }
?>
Próxima página >>




Páginas do artigo
   1. Segurança: Autenticando o PHP com HTTP (Authentication Required)
   2. Analisando o código
   3. Informações importantes

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por femars em 04/09/2008 - 19:44h:

olha, opnião minha mas, uma coisa é pesquisar numa fonte outra e copiar exatamente da fonte... tá exatamente igual no manual do php http://docs.php.net/manual/pt_BR/features.http-auth.php


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.