Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Antonelli

Como fazer "ESQUECI A SENHA" ?

Recommended Posts

Olá galera, acabei de pertubá-los com um outro tópico, agora a "chapa tá quente"! rsrsrs

Bom, tudo que estou fazendo é para meu provedor de internet, então uso sistema de autenticação em HOTSPOT + RADIUS!

Dai que para liberar o acesso, o HOTSPOT confere no banco de dados do RADIUS se as informações que o cliente digitou estão corretas... Caso positivo, é liberado o acesso!

O que se pede é USERNAME e PASSWORD, mas no database do FREERADIUS são cadastrados várias instruções com o mesmo USERNAME, vou explicar:

 

O sistema tem funções de AUTO-IP e AUTO-MAC, ou seja, ele pega o IP e MAC do cliente e cadastra no database, sendo que tudo está na mesma tabela!

Abaixo coloquei um PRINT da tabela:

 

Imagem Postada

http : / / img5.imageshack . us/img5/1230/tabelacl.jpg

 

Daí, apenas 3 campos me interessam: USERNAME, ATTRIBUTE e VALUE.

O que indica se o que está cadastrado para o USERNAME é o ATTRIBUTE, nele pode estar "Password" ou um valor que define IP e MAC, e em VALUE, o valor em si, no caso do ATTRIBUTE "Password", no campo VALUE fica a senha.

Até aqui, já consegui fazer a troca.

Porém tem uma outra tabela (sis_cliente), no mesmo database, que consta os dados do cliente, gostaria de fazer o tal do "ESQUECI A SENHA" da seguinte maneira:

 

Para redefinir a senha, o cliente precisaria digitar seu USERNAME, CPF e DATA DE NASCIMENTO (DATADENASCIMENTO), mas os campos estão em tabelas diferentes... como ficaria isso? Uma primeira pagina pede o USERNAME, consulta na tabela RADCHECK se o que foi digitado confere, caso positivo, repassa para uma tela pedindo para que ele entre com o CPF e a DATA DE NASCIMENTO, caso seja aprovado, libera um formulário para que ele digite a nova senha que sera "atualizada" (acredito que isso deve ser feito com o "UPDATE radcheck SET value=$senhaNova WHERE username=$username && attribute="Password"). Uma observação é que ele digitaria o USERNAME no começo, e isso seria repassado como? Por GET?

 

Sei que é complicado, mas quem puder dar uma LUZ, será 100% bem-vindo!

Desde já agradeço, e peço desculpas novamente pelo tamanho do tópico e por incomodá-los (mesmo sabendo que aqui é um fórum pra debate, ajuda, etc., não é legal incomodar)! =S

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, primeiramente, porque voce nao faz via e-mail?

assim, no cadastro você pede o email e na hora de lembrar senha, você pede o email da pessoa, checa se existe no banco de dados, pega a senha e envia para o e-mail!

eu acho que é mais simples!

 

Mas se voce quer assim mesmo, voce pode salvar o login da primeira pagina numa SESSION e ir pegando da outra tabela o cpf e data de nascimento e salvando tudo em SESSION e depois fazere um UPDATE na senha como voce falou ai. (se nao souber usar session me visa)

acho que nao expliquei direito neh ? é que to meio apressado!

flw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que isso fica hospedado em um servidor LINUX com um sistema "fechado", ou seja, não posso instalar nenhum servidor de e-mail nele.

Coloquei um "esquema" de como seriam as tarefas, vamos lá:

 

Imagem Postada

 

O problema nem é tanto o PHP, pois dou um jeito de descobrir no GOOGLE, mas é fazer essa "filtragem" no MySQL.

Obrigadão por ajudar cara, valeu mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, consegui aqui, mas ficou muito amador, mas a base eu consegui!

Dêem uma olhada no arquivo:

 

Clique aqui

 

Coloquei até um backup do banco de dados pra teste!

Usei 6 arquivos PHP pra fazer somente o "ESQUECI A SENHA", 3 pra formulario e 3 pro "action" do formulario!

Mas queria simplificar isso, de uma forma que não dê pro usuario ver os links que foram usados.

Sei lá ... fazer 3 formulários fica feio! Talvez tivesse como fazer assim, dependendo de uma "aprovação" ele liberasse o outro campo... mas se não der, vou recorrer ao "?go=xxx"!

Desde já agradeço aos que me ajudaram!

Compartilhar este post


Link para o post
Compartilhar em outros sites

este sistema fica muito vulnerável

 

qualquer pessoa próxima pode se apoderar de uma conta

 

o mais seguro é enviar por email mesmo mas se não tem como terá que assumir estes riscos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim o Mário tem razão, mas como você não pode enviar e-mail, sugiro que use uma palavra chave, ou aquelas perguntas onde o usuário insere a resposta, isso dificulta com que alguém que pegue o CPF consiga mudar a senha apenas com isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.