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)

$find = mysql_query("SELECT * FROM register WHERE username='".$_POST['username']."' AND email='".$_POST['email']."'");

$result = mysql_num_rows($find);
if (isset($_POST['submit'])) {
  if ($result == 1) {
  mysql_query("UPDATE register SET password='".crypt(rand(),pwd)."' WHERE username='".$_POST['username']."'");
  }
}
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
<?php
if (isset($_POST['submit'])) {
  $find = mysql_query("SELECT * FROM register WHERE username='".
    mysql_real_escape_string($_POST['username']). "' AND email='".
    mysql_real_escape_string($_POST['email']). "'");
  if (mysql_num_rows($find) == 1) {
    $password = rand(); // tároljuk a jelszót, hogy később el tudjuk küldeni
    mysql_query("UPDATE register SET password='". 
      crypt($password, 'pwd') ."' WHERE username='".
      mysql_real_escape_string($_POST['username']) ."'");
    mail($_POST['email'], 'Password', $password); // elküldjük az e-mailt
  }
}
?>
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?