Desenvolvimento - PHP

Autenticação de usuários utilizando PHP/MySQL com Dreamweaver

O objetivo do artigo é criar uma página de acesso restrito com o mínimo de segurança e baseado em login e senha, que estarão armazenados em um banco de dados MySQL.

por Marcus Varanis



Olá pessoal primeiramente gostaria de pedir desculpas pela demora em enviar esse tutorial, uma vez que já há algum tempo tenho recebido e-mails com pedidos sobre o tema.

O objetivo do artigo é criar uma página de acesso restrito com o mínimo de segurança e baseado em login e senha, que estarão armazenados em um banco de dados MySQL, abaixo segue o código da instrução SQL que irá criar a tabela para armazenar as informações sobre usuários.

-- 
-- Estrutura da tabela `autenticacao`-- 
CREATE TABLE `autenticacao` (
  `id` int(11) NOT NULL auto_increment,
  `nome` varchar(20) NOT NULL default "",
  `senha` varchar(20) NOT NULL default "",
    PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
-- 
-- Extraindo dados da tabela `autenticacao` -- 

INSERT INTO `autenticacao` VALUES (1, "teste", "teste", 0); 

Explicando...

Usaremos o para autenticação dos usuários os campos nome, senhal. Onde os campo nome e senha serão responsáveis pela autenticação dos usuários.

Mãos a obra

O primeiro passo para criarmos a nossa pagina de autenticação é criarmos 3 documentos php, são eles:

login.php – pagina que irá conter o formulário para autenticação.
sucesso.php - pagina que irá conter o conteúdo restrito.
Falha.php – pagina de erro caso o nome ou a senha estejam incorretos.

Depois criaremos a ligação com banco de dados no painel application e depois na opção MySQL Connection como mostrados na figura 1


figura 1 - MySQL connection

Depois devemos fazer as seguintes configurações:

Connection name: aqui vai o nome que daremos para a conexão.
MySQL Server: Nome do servidor Mysql, em servidores de teste em geral usamos localhost ou 127.0.0.1.
User Name: Nome de usuário do seu servidor.
Password: Senha do servidor
Database: Aqui selecionamos o banco de dados que será utilizado.

O próximo passo é criarmos a estrutura do formulário da pagina login.php da pagina principal que deve conter um formulário com dois text filed e um button, então criaremos o formulário como mostrado na figura 1 e depois iremos inserir os text field e o button.


figura 2 - Criando o formulário

O resultado do formulário é mostrado na figura 3, perceba que alguns elementos de design foram atribuídos a página, mas não são necessários para o funcionamento do sistema de autenticação.


figura 3 - estrutura do formulário

Agora vamos selecionar o primeiro text field, onde inserimos o nome do usuário e vamos alterar o seu nome textfield para user na barra de propiedades, e depois selecione o segundo textfield altere seu nome de textfield2 para senha e na propiedade type, marque password, como mostrado nas figuras 4 e 5.


figura 4 - Propiedades do textfield


Figura 5 - Propiedades do TextField2

Depois de criada a estrutura do formulário e alteradas as propriedades dos textfields, podemos começar a criar a estrutura de autenticação, para tanto vamos utilizar um Server Behavior do Dreamweaver chamado User authentication, para acessa-lo devemos ir ao painel application/server behaviors/User authentication, depois selecionaremos a opção Log in User, como mostrado na figura 6.


Figura 6 - User Authentication

Na opção Log in User que alterar as seguintes configurações.

Get input from form: form1, aqui indicamos o nome do formulário de onde as informações serão enviadas.
Usernamefield: user, aqui indicamos o nome do textfield responsável pelo nome do usuário.
Passwordfield: senha, aqui indicamos o nome do textfield rsponavel pela senha do usuário.
Validate using connection: autenticacao, aqui indicamos o nome da conexão com o Bando de Dados.
Table: autenticacao, aqui indicamos o nome da tabela que contem as informações dos usurários.
Username column: nome, aqui indeicamos qual campo do tabela é responsável pelo nome do usuário.
Password field: senha, aqui indivamos qual campo da tabela é responsável pela senha do usuário.
If login sucess go to: restrita.php, aqui indicamos a pagina que será carregada caso haja sucesso no login.
If login fails, go to: falha.php, aqui indicamos a que será carregada caso a o nome e ou a senha não confiram.
Restrict access based on: Username and password


Figura 7 - propiedades do Log in user

Aqui acabam as configurações da pagina login.php, agora devemos configurar a pagina de acesso restrito chamada secesso.php, nesta pagina vamos configurar o nível de acesso para que não seja possível acessarmos a pagina mesmos depois que conhecermos a sua url.

Para tanto devemos inserir um novo server behavior, o Restrict access to page, que será encontrado no painel application/server behaviors/User Authetication.

Neste opção teremos que fazer as seguintes configurações:

Restrict based on: name, password ;
If access denied, go to: falha.php

Com esta configurações estamos criando uma SESSION, o que não permitirá que alguém acesse a pagina de acesso restrito sem estar autenticado, mesmo conhecendo a url.


Figura 8 - Propiedades do Restrict access to page

Depois disso é necessário criarmos a pagina de erro, que definimos como falha.php, ai então estará pronto nosso sistema de autenticação, a partir dai e só testar, abra a página login.php no seu navegador no campo digite teste, no campo senha digite teste. Se tudo correr bem você será direcionado para página sucesso.php, se você utilizar um usuário inexistente você deve ser redirecionado para página falha.php

Logout

Para criarmos o Logout dos usuários, devemos abrir a página sucesso.php, que é a nossa página com conteúdo restrito,feitoo isso devemos ir ao painel application/server behaviors e depois clicando no botão com o símbolo de + deleciona a opção User authentication/Log out user, como mostrado na figura 9.


figura 9 - Log Out User

Com isso se abrirá as propiedades do Log Out User e faremos as seguintes configurações:

Log Out when: Link Clicked (aqui criaremos o link para fecharmos a sessão)
When done go to: login.php (aqui indicamos a página que será carregada quando a sessão for fechada).


Figura 10 - Propiedades do Log Out user.

E teremos o resultado mostrado na figura 11, onde Log Out é o link para fechar a sessão.


figura 11 - Resultado do Log out user

Porém podemos alterar o texto do link, basta seleciona-lo e digitar o que deseja,no exemplo mostrado na figura 12 o texto "Log out" foi substituido por "sair",como mostrado na figura 12.


figura 12 - alteração do link

Conclusão

Vimos com este artigo que criar um sistema de autenticação bem simplicado utilizando PHP com MySQL em ambiente Dreamweaver, é algo extremamente fácil, uma vez que podemos utilizar as extensões(behaviors) e os comportamentos já existentes.

Vimos também que é possível adicionar alguns aspectos de segurança de forma igualmente simples.

Dúvidas entre em contato.

Abraços.

Marcus Varanis

Marcus Varanis - Programador da TDSW Software e Telecomunicações em Rio Claro - SP, desenvolve em PHP/MySQL e também Delphi, trabalha com ASP.NET e estuda MONO, é instrutor de informática da Nexus Treinamentos também em Rio Claro. Formado em Física e aluno do programa de pós-graduação em Física Aplicada da Unesp, onde trabalha com sistemas complexos e simulação computacional.