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
(~18 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
(~21 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
(~21 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)