Ir para conteúdo

POWERED BY:

Arquivado

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

renato augusto tavares

Script para Recuperar senha Via email

Recommended Posts

Olá amigos,

 

To com um probleminha e se alguém puder ajudar ficaria muito grato mesmo, quero fazer um script que busca os usuários do meu banco de dados e envia sua senha por email, caso ele tenha esquecido...

 

Estrutura do meu banco de dados é assim:

 

INSERT INTO `login_users` (`user_id`, `user_level`, `restricted`, `username`, `fname`, `lname`, `email`, `password`, `timestamp`) VALUES 
(1, 1, 0, 'admin', 'Test', 'Admin', 'admin@meusite.net', '21232f297a57a5a743894a0e4a801fc3', '0000-00-00 00:00:00');

 

Como estão vendo a senha fica em MD5

 

 

O arquivo recupera.php faz a chamada para todo script no envia.php ele é assim:

 

<table width="380" border="0" cellpadding="3" cellspacing="1" >
<tr>
<td width="33%"><strong>Seu Email </strong></td>
<td width="67%"><form name="form1" method="post" action="envia.php">
<input name="email_to" type="text" id="mail_to" size="25">
<input type="submit" name="Submit" value="Recuperar Senha">
</form>
</td>
</tr>
</table>

 

 

Alguém tem ideia de como fazer o envia.php para que ele pegue a senha no banco de dados descodifique ela de MD5 é depois envie ela via email ao infeliz?

 

Existe alguma forma mais simples que essa?

 

Valendo um doce par que me ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

MD5 é um hash. Isso significa que não é possível decodificar a string.

 

É necessário gerar uma nova senha e enviá-la por email, pedindo que o usuário entre no painel de controle do site e a modifique o mais breve possível

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso eu não sabia Beraldo :(

 

Você ja viu algum sistema free ou já pronto em algum lugar que faça isso? porque nem sei como fazer uma parada assim.

 

Nesse site é possível voltar um md5, porém se este estiver em seu dicionário de dados:

 

Quebrando MD5

 

Até +

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, mais lógico e seguro você guardar no banco também o email do camarada...

 

se não eu faço um script para ir chutando logins, e mandar o teu banco enviar todas as 'senhas' pro meu email.. q não tem nada a ver com o teu sistema.

 

Depois de uma confirmação de que o cara, é ele mesmo, você pode dar um UPDATE na senha, para alguma padrão como: 'novasenha', e falar para o cara fazer o login com essa 'novasenha' que você colocou, mandando essas instruções para o email, que também está no banco.

 

Então o cara entra com o email no form, você faz um SELECT com base no email que ele digitou, confirma se ele existe, faz uma pergunta do tipo 'data de nascimento', só para confirmar se ele é ele mesmo, e então envia a nova senha que o sistema gerar(pode ser até uma aleatória), para o email que você tem no banco.

Post Scriptum: Não, não tenho nada pronto assim. Tente desenvolver, estude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que eu fazia, quando usava MD5 para criptografar senhas, era enviar um link para o e-mail do camarada para que ele troque a senha, sem precisar ficar gerando senha nova e tals...

 

Mas daí você precisa se preocupar com a segurança, pelo amor de Deus, não vá me fazer algo como "http://www.mywebsite.com.br/altera_senha.php?usuario=33" ... pq daí qlqr um poderia ficar alterando senha dos outros, roubar conta e já viu né?!?!!

 

Por exemplo, você poderia fazer algo assim:

 

Quando o cara clicar em "Esqueci minha senha",

um script encriptaria a data de aniversário do cara, um código de segurança seu e o usuário ou e-mail do cara (ex.: MD5($dt_niver.'jHi867c'.$email)),

e enviaria o hash num link: http://www.blablablabla.com.br/recpass.php?u=usuario@dominio.com.br&h=8331c25ab2f74f464addc1082a60c687

 

Quando o cara clicar no link, você manda criptografar novamente os dados $dt.niver.'jHi867c'.$email e comparar com o hash q está no $_GET['h'], se confirmar você permite q o cara altere a senha ou então mande uma senha nova para o e-mail...

 

Para reforçar a segurança você pode até criptografar o email ou id do usuário e dps comparar para buscar no banco de dados...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, sei que esse tópico tá meio antigo, mais é a mesma duvida que eu tenho, e não vale a pena criar mais um tópico né!?

 

Então vamos lá. o lucas martins disse para pegar o hash da url, e comparar com o hash da database certo?

 

Então como eu posso fazer essa comparação?

tentei fazer assim:

 

<?php
$cod= $_GET['?cod'];

$result = mysql_query("select * from usuarios where codigo = $cod");
$feito     = mysql_fetch_array($result) ;
$cod2 = $feito['nome'];

if($cod == $cod2) {

    echo "$cod2";
    echo "$cod";
    
} else {

    echo 'você não pode fazer isso';

    }
?>

Mais assim não dá, não posso jogar o $cod e o $cod2 no mesmo código dá erro.

 

alguem sabe alguma solução pra isso?

Atensiosamente,Mulambo

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.