Autenticação baseada em PHP e HTTP
Caso queira fazer uma parte administrativa no seu site, onde somente o pessoal autorizado possa acessar, vamos lá: comecemos pelo arquivo conexao.php:
conexao.php:
Essa variável $usuario guardará o login e a variável $senha guardará a senha a serem utilizados pelo administrador do site. Toda vez que for necessário mudar esses dados é só entrar no arquivo conexao.php e mudar os parâmetros que estão entre as aspas.
Depois os outros arquivos devem ser criados respeitando a programação colocada abaixo.
arquivo.php:
Observações sobre o trecho acima:
- Notem que na primeira linha temos "include("conexao.php")", ou seja, estamos incluindo o arquivo conexao.php que possui os comandos de conexão com o banco de dados e os dados de acesso à esta área. Se não tivéssemos colocado os dados de acesso para serem modificados no arquivo conexao.php, quando precisássemos trocar o login e a senha, teríamos que ir em página por página.
- header('WWW-Authenticate: Basic realm="NOME DO TERRITÓRIO"'). Este NOMEDOTERRITÓRIO pode ser um nome qualquer definido por você. Dê preferência ao nome do site mesmo.
- // insira aqui o código da página. Coloque aqui o código, html, php, javascript ou o que seja. Se o usuário que acessou colocou o login e a senha corretamente, será somente esta parte do script que verá.
Então quando o usuário acessar a página que contém o código que você colocou ele verá a janela abaixo:

Bom, basicamente é isso.
Qualquer dúvida, estamos aí.
"A minha alma espera somente em Deus; dele vem a minha salvação." (Salmos 62.1)
________________
.::PHPrincesa::.
programadora
conexao.php:
<?php
$conexao = mysql_connect("hostname","userid","password") or die("nao foi possivel estabelecer a conexao");
$banco = mysql_select_db("dbname",$conexao) or die("não foi possível abrir o banco de dados");
$usuario = "nomedousuario";
$senha = "senha";
$home401 = "HTTP/1.0 401 Unauthorized";
?>
Essa variável $usuario guardará o login e a variável $senha guardará a senha a serem utilizados pelo administrador do site. Toda vez que for necessário mudar esses dados é só entrar no arquivo conexao.php e mudar os parâmetros que estão entre as aspas.
Depois os outros arquivos devem ser criados respeitando a programação colocada abaixo.
arquivo.php:
<?php
include("conexao.php");
// se a variável $PHP_AUTH_USER não estiver setada
if (!isset($PHP_AUTH_USER)) {
// janela para a inserção de usuário e senha
header('WWW-Authenticate: Basic realm="NOME DO TERRITÓRIO"');
// página que mostra "Você não está autorizado a exibir esta página"
header("$home401");
echo "Autorização Requerida";
exit;
} else {
// se $PHP_AUTH_USER for igual a $usuario e $PHP_AUTH_PW for igual a $senha
if ($PHP_AUTH_USER == $usuario && $PHP_AUTH_PW == $senha) {
// insira aqui o código da página
} else {
// página que mostra "Você não está autorizado a exibir esta página"
header("$home401");
echo"Autorização Requerida";
exit;
}
}
?>
Observações sobre o trecho acima:
- Notem que na primeira linha temos "include("conexao.php")", ou seja, estamos incluindo o arquivo conexao.php que possui os comandos de conexão com o banco de dados e os dados de acesso à esta área. Se não tivéssemos colocado os dados de acesso para serem modificados no arquivo conexao.php, quando precisássemos trocar o login e a senha, teríamos que ir em página por página.
- header('WWW-Authenticate: Basic realm="NOME DO TERRITÓRIO"'). Este NOMEDOTERRITÓRIO pode ser um nome qualquer definido por você. Dê preferência ao nome do site mesmo.
- // insira aqui o código da página. Coloque aqui o código, html, php, javascript ou o que seja. Se o usuário que acessou colocou o login e a senha corretamente, será somente esta parte do script que verá.
Então quando o usuário acessar a página que contém o código que você colocou ele verá a janela abaixo:
Bom, basicamente é isso.
Qualquer dúvida, estamos aí.
"A minha alma espera somente em Deus; dele vem a minha salvação." (Salmos 62.1)
________________
.::PHPrincesa::.
programadora

no cpanel existe uma opção de rstringir o acesso a menos s digitar senha e usuario. como faço´para colocar em minha pag para q a pessoa possa digitar diretament na minha pag e acessar o conteudo restrito?
13/01/2006 5:45am
(~19 anos atrás)
Efetuei a criacao do DB"Banco" TB"tb_user", mas quando vou efetuar o teste de conexao, e digito o usuario e a senha a seguinte mensagem aparece "Autorizacao Requerida", alguem poderia me ajudar ????
23/04/2003 11:43am
(~22 anos atrás)
Victor
Me sinto contente pelo menos por ter tido a curiosidade de ler o meu artigo.
Mesmo que não tenha servido para você, creio que ampliou os conhecimentos de muitos programadores.... Aprender nem que seja o básico nunca é demais.
Obrigada pelo seu comentário.
Deus lhe abençõe.
Me sinto contente pelo menos por ter tido a curiosidade de ler o meu artigo.
Mesmo que não tenha servido para você, creio que ampliou os conhecimentos de muitos programadores.... Aprender nem que seja o básico nunca é demais.
Obrigada pelo seu comentário.
Deus lhe abençõe.
14/02/2003 7:16am
(~22 anos atrás)
.htacess eh para diretorio inteiro, entaum vc teria q deixar tudo que quiser proteger naquele diretorio
02/12/2002 10:36am
(~22 anos atrás)
.htacess eh para diretorio inteiro, entaum vc teria q deixar tudo que quiser proteger naquele diretorio
02/12/2002 10:36am
(~22 anos atrás)
os erros q taum dando aki saum
nao foi possivel estabelecer a conexao
e
nao foi possivel abrir o banco de dados
os mesmo erros q estaum no DIE
... or die("nao foi possivel estabelecer a conexao");
nao foi possivel estabelecer a conexao
e
nao foi possivel abrir o banco de dados
os mesmo erros q estaum no DIE
... or die("nao foi possivel estabelecer a conexao");
01/12/2002 6:21pm
(~22 anos atrás)
tentei de tudo
fiz todos os passos ai descritos
pus a senha do admin pra poder acessar o arquivo, tentei usar funcao include pra por a pagina em vez de jogar o codigo direito no arquivo.php, mas naum deu certo n
fiz todos os passos ai descritos
pus a senha do admin pra poder acessar o arquivo, tentei usar funcao include pra por a pagina em vez de jogar o codigo direito no arquivo.php, mas naum deu certo n
01/12/2002 6:10pm
(~22 anos atrás)
Como eu crio multiplos usuarios, usando essa mesma funcao
Ex.: se eu puser joao, ele vai pra pagina do joao e assim por diante..
Ex.: se eu puser joao, ele vai pra pagina do joao e assim por diante..
01/12/2002 3:04pm
(~22 anos atrás)
Este artigo somente funcinará para quem tem o PHP rodando como modulo no APACHE.
Outros servidores como IIS, OmniHTTP e outros não suportam o recurso.
Outros servidores como IIS, OmniHTTP e outros não suportam o recurso.
30/11/2002 9:27am
(~22 anos atrás)