Pular para o conteúdo

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. Aqui vamos ver as vantagens e os perigos deste tipo de autenticação.
leo genilhu leogenilhu
Hits: 32.627 Categoria: PHP Subcategoria: Segurança
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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:

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
<?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>";
  }
?>
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Segurança: Autenticando o PHP com HTTP (Authentication Required)
   2. Analisando o código
   3. Informações importantes

PHP: Programando com segurança

Sistema de identificação em rede (NIS)

Fazendo sua conexão remota por SSH mais segura

Criando backup do MySQL com o mysqldump

Vulnerabilidade em formulário PHP

Dados sensíveis em arquivos com extensão .inc

Criptografando mensagens com PHP

Segurança em PHP

Criptografia do método GET no PHP

Contribuir com comentário

Entre na sua conta para comentar.