ugrás a tartalomhoz

Uj jelszo generalasa

Anonymous · 2006. Júl. 10. (H), 12.04
Van egy lap amely user belepesre szolgal (login.php). Szuksegem van egy "Elfelejtett jelszo" opciora amelynek a lapja "forgetpwd.php" es a kovetkezo kodbol all : (a HTML formot mar nem raktam bele)
  1. $find = mysql_query("SELECT * FROM register WHERE username='".$_POST['username']."' AND email='".$_POST['email']."'");  
  1. $result = mysql_num_rows($find);  
  2. if (isset($_POST['submit'])) {  
  3.   if ($result == 1) {  
  4.   mysql_query("UPDATE register SET password='".crypt(rand(),pwd)."' WHERE username='".$_POST['username']."'");  
  5.   }  
  6. }  
Ezt valahogy a fenti kodal oldom meg. Ha a felhasznalo beirja a usernevet es az e-mail cimet es egyezik az adatbazisban levovel, akkor el kene kuldjek e-mailre neki egy uj random generalt jelszot.

Sajnos a crypt lekodolja a jelszot. El szeretnem kuldeni mail-be a felhasznalonak az uj jelszot de nem kodolva cryptel. Csak az adatbazisban legyen kodolva.

Tudotok segiteni ?

Koszonom!
 
1

Jelszót tárolni kell

Poetro · 2006. Júl. 10. (H), 14.15
  1. <?php  
  2. if (isset($_POST['submit'])) {  
  3.   $find = mysql_query("SELECT * FROM register WHERE username='".  
  4.     mysql_real_escape_string($_POST['username']). "' AND email='".  
  5.     mysql_real_escape_string($_POST['email']). "'");  
  6.   if (mysql_num_rows($find) == 1) {  
  7.     $password = rand(); // tároljuk a jelszót, hogy később el tudjuk küldeni  
  8.     mysql_query("UPDATE register SET password='".   
  9.       crypt($password'pwd') ."' WHERE username='".  
  10.       mysql_real_escape_string($_POST['username']) ."'");  
  11.     mail($_POST['email'], 'Password'$password); // elküldjük az e-mailt  
  12.   }  
  13. }  
  14. ?>  
2

Keress

vbence · 2006. Júl. 10. (H), 16.25
Itt egy tegnapi fórum téma hasonló kérdésben:
http://weblabor.hu/forumok/temak/14187

A jelszó küldése nem elegáns megdolás, az pedig főleg nem, hogy azonnal megváltoztatod. Egy "elfelfelejtett jelszó" formot bárki kitölthet másnak a nevében, és akkor töltöd a jelszavát?