Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] md5 odzyskanie hasła
Forum PHP.pl > Forum > Przedszkole
wzd
witam, wpisywane hasło do bazy potraktowałem md5(). Przy logowaniu nie ma problemu z porównaniem haseł bo również używam md5.

Problem pojawia się gdy chce odczytać hasło do forma ale odkodowane ? Jak to wykonać ?
potreb
Hasła md5 nie można odkodować
sticker
wygeneruj nowe i wysli userowi
smialy
Można w sumie użyć opcji siłowej ale to troche może potrwać :]
Grzyw
Jeżeli potrzebujesz tego do odzyskania hasła dla usera zrób tak:
1) User klika na zapomniałem hasło
2) Wysyła mu maila, gdzie wsadzasz wygenerowane nowe losowe hasło i trzymasz je w bazie przy userze
3) User wchodzi na tym haśle i od razu przekierowywany jest do formularza zmiany hasła.
shpaque
Witam - troszkę odświeżę temat bo mam problem. Osobiście praktycznie leżę z PHP, strony buduję w WYSIWYG'ach, dodając skrypty lub elementy html/php/java; ale zrobiłem coś takiego (poniżej) i nie wiem, gdzie i dlaczego skrypt nie wykonuje się do końca. Problem jest taki, że owszem hasło zostaje zmienione na przypadkowe, mail idzie do osoby, która prosi o przypomnienie hasła, ale z kolei nowe hasło nie zostaje nadpisane w pliku... Dlaczego?


<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && strlen($_POST['email'] <= 50))
{
$email = addslashes($_POST['email']);
$found = false;
$logtimes = array();
$ipadresss = array();
$usernames = array();
$passwords = array();
$emailaddresses = array();
$fullnames = array();
$punktys = array();
$activeaccounts = array();
$count = 0;
$success_page = './login.php';
$error_page = './mailerror.php';
$database = './db/usersdb.csv';

if (filesize($database) == 0)
{
header('Location: '.$error_page);
exit;
}
else
{
$items = file($database);
foreach($items as $line)
{
list($logtime, $ipadress, $username, $password, $emailaddress, $fullname, $punkty, $active) = explode(',', trim($line));
$logtimes[$count] = $logtime;
$ipadresss[$count] = $ipadress;
$usernames[$count] = $username;
$passwords[$count] = $password;
$emailaddresses[$count] = $emailaddress;
$fullnames[$count] = $fullname;
$punktys[$count] = $punkty;
$activeaccounts[$count] = $active;
if ($email == $emailaddress)
{
$found = true;
}
$count++;
}
}
if ($found == true)
{
$alphanum = array('a','b','c','d','e','f','g','h','i','j','k','m','n','o','p','q','r','s','t','u','v','x','y','z','A','B','C','D','E','F','G','H','I','J','K','M','N','P','Q','R','S','T','U','V','W','X','Y','Z','2','3','4','5','6','7','8','9');
$chars = sizeof($alphanum);
$a = time();
mt_srand($a);
for ($i=0; $i < 6; $i++)
{
$randnum = intval(mt_rand(0,56));
$newpassword .= $alphanum[$randnum];
}
$crypt_pass = md5($newpassword);
$file = fopen($database, 'w');
for ($i=0; $i < $count; $i++)
{
fwrite($file, $logtimes[$i]);
fwrite($file, ',');
fwrite($file, $ipadresss[$i]);
fwrite($file, ',');
fwrite($file, $usernames[$i]);
fwrite($file, ',');
if ($emailaddresses[$i] == $email)
{
fwrite($file, $crypt_pass);
}
else
{
fwrite($file, $passwords[$i]);
}
fwrite($file, ',');
fwrite($file, $emailaddresses[$i]);
fwrite($file, ',');
fwrite($file, $fullnames[$i]);
fwrite($file, ',');
fwrite($file, $punktys[$i]);
fwrite($file, ',');
fwrite($file, $activeaccounts[$i]);
fwrite($file, "\r\n");
}
fclose($file);
$mailto = $_POST['email'];
$subject = 'Przypomnienie hasła';
$message = 'Witaj, Twoje hasło do logowania, to: ';
$message .= "\r\n";
$message .= "\r\n";
$message .= $newpassword;
$message .= "\r\n";
$header = "From: ..."."\r\n";
$header .= "Reply-To: ..."."\r\n";
$header .= "MIME-Version: 1.0"."\r\n";
$header .= "Content-Type: text/plain; charset=Windows-1250"."\r\n";
$header .= "Content-Transfer-Encoding: 8bit"."\r\n";
$header .= "X-Mailer: PHP v".phpversion();
mail($mailto, $subject, $message, $header);
header('Location: '.$success_page);
}
else
{
header('Location: '.$error_page);
}
exit;
}
?>


proszę o odpowiedź i wskazanie / pomoc przy rozwiązaniu babola.

pozdrawiam wszystkich
Shpaque
piotrooo89
troszkę?! odgrzebałeś suchara z 2008 roku... zamykam, załóż nowy temat + dodaj odpowiednie tagi do listingów.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.