Como Autorizar

Índice:

Como Autorizar
Como Autorizar

Vídeo: Como Autorizar

Vídeo: Como Autorizar
Vídeo: TUTORIAL COMO AUTORIZAR FACTURAS 2024, Abril
Anonim

Muitas vezes acontece que é necessário dividir os visitantes em desejáveis e indesejáveis, e dar a oportunidade de ver algumas páginas do site apenas a quem tem nome de usuário e senha. Como fazer isso, por exemplo, na linguagem de script do lado do servidor PHP?

Como eu autorizo?
Como eu autorizo?

Instruções

Passo 1

Vamos organizar a maneira mais fácil de proteger suas páginas de visitantes não autorizados. O portador da informação sobre se o visitante está autorizado será a sessão. Uma sessão é um análogo de cookies em um navegador, com a única diferença de que eles não são criados em nosso computador, mas no servidor. E eles são usados com a mesma finalidade que os cookies - para armazenar informações diferentes sobre nós enquanto vamos de uma página para outra de um site. Quando fechamos o navegador, o servidor destrói esta sessão e, na próxima vez que efetuarmos login, ele cria uma nova. Usamos este mecanismo de servidor para registrar se o usuário já está logado na sessão ou não. Lendo essas informações, quando um visitante solicita uma página, o script php abrirá o acesso a páginas protegidas por senha ou se oferecerá para inserir um nome de usuário e uma senha.

Etapa 1: Crie uma página para inserir o login e a senha. O código HTML do formulário de autorização em sua forma mais simples pode ter a seguinte aparência:

Conecte-se:

Senha:

Aqui (no início do arquivo) adicionaremos o código php que verificará a exatidão do nome de usuário e senha inseridos pelo visitante. No início, escreveremos:

session_start ();

Este comando inicia uma nova sessão se ainda não tiver sido criada para este visitante.

Então, vamos verificar se a sessão tem uma variável chamada 'userName' - ela armazenará o nome se o visitante já estiver logado. Se houver tal variável, redirecione o visitante para a página principal (index.php) e termine de executar este script php:

if ($ _ SESSION ['userName']) {

cabeçalho ("Localização: index.php");

saída;

}

O resto do código será executado apenas se o usuário ainda não tiver inserido o nome de usuário e a senha corretos. Vamos indicar qual login e senha devem ser considerados corretos:

$ validName = 'Sou meu!';

$ validPass = 'senha secreta';

Em seguida, verificamos se os valores enviados do formulário correspondem aos corretos. Como especificamos o método de transferência de dados POST no formulário, eles devem ser lidos a partir da variável superglobal $ _POST:

if ($ _ POST ['userName'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['userName'] = $ validName;

cabeçalho ("Localização: index.php");

saída;

}

Aqui, o código entre chaves {} será executado com os valores corretos do nome de usuário e senha. Na linha $ _SESSION ['userName'] = $ validName; ma, escrevemos na sessão uma variável chamada 'userName' contendo o login do usuário agora autorizado. Esta será a marca de que o acesso está aberto para ele em qualquer lugar, desde que sua sessão atual seja válida.

E caso dados incorretos sejam inseridos no formulário, adicione a mensagem apropriada:

else echo"

Login ou senha incorretos!

;

Todo o código que precisa ser salvo em um arquivo chamado login.php terá a seguinte aparência:

<? php

session_start ();

if ($ _ SESSION ['userName']) {

cabeçalho ("Localização: index.php");

saída;

}

$ validName = 'Sou meu!';

$ validPass = 'senha secreta';

if ($ _ POST ['userName'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['userName'] = $ validName;

cabeçalho ("Localização: index.php");

saída;

}

else echo"

Login ou senha incorretos!

;

?>

Conecte-se:

Senha:

Passo 2

Etapa 2: Crie um bloco de autorização - um arquivo separado que será conectado a cada página que precisa de proteção por senha. Este arquivo conterá apenas código php, então sua extensão será "php", e nós daremos a ele um nome de acordo com a tradição para tais arquivos - "auth", isto é, "auth.php". E aqui, também, imediatamente após a tag de abertura <? Php, deve haver uma instrução para iniciar uma sessão:

session_start ();

Podemos ler todas as variáveis armazenadas na sessão do array superglobal $ _SESSION. Precisamos verificar o valor da variável "userName" - se o visitante ainda não tiver feito login, então não estará na matriz e o redirecionaremos para a página para inserir seu nome de usuário e senha:

if (! $ _ SESSION ['autorizado']) {

cabeçalho ("Localização: login.php");

saída;

}

Todo o código que precisa ser salvo no arquivo auth.php terá a seguinte aparência:

<? php

session_start ();

if (! $ _ SESSION ['admin']) {

cabeçalho ("Localização: enter.php");

saída;

}

?>

etapa 3

Passo 3: depois de salvarmos esses arquivos no servidor, eles permanecerão em todas as páginas php que precisam ser protegidas de usuários não autorizados para conectar o bloco de autorização. Ou seja, logo no início de cada arquivo php, você precisará inserir este código:

<? php

requer "auth.php";

?>

E para alterar a senha de acesso, você precisará alterar os valores dessas variáveis no arquivo login.php:

$ validName = 'Sou meu!';

$ validPass = 'senha secreta';

$ validName - login, $ validPass - senha.

Recomendado: