Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Przywracanie hasla
Forum PHP.pl > Forum > PHP
outsider
Witam

Bardzo przepraszam jesli pisze w zlym dziale.

Szukam skryptu do przywracanie hasla, w skrocie: wysylanie na maila jakiegos kodu przy poprawnym podaniu maila, lub cos podobnego.

Z gory dziekuje smile.gif

P.S. Szukalem smile.gif
erix
Tee, a jakiego skryptu "z hasłem" używasz?
outsider
Nie za bardzo wiem o co Tobie chodzi, szukam skryptu ktory bedzie przywracal zapomniane haslo, skonfiguruje sobie go aby chodzil z moimi skryptami i baza.
Strarus
A nie prościej samemu napisać?? Jeśli adres i nick zgadzają się z tymi w bazie wysyła nowe hasło i jednocześnie zmienia to nowe hasło w bazie smile.gif
outsider
I tak zamierzam zrobic, ale chcialbym zobaczyc inne skrypty jak wygladaja, cos ulepszyc itp smile.gif
pyro
napisz, pokaz, zobaczy sie co poprawic
decha-design
jak haslo masz zakodowane przy pomocy md5() to nie przypomnisz ... musisz wygenerować nowe.
outsider
Cytat
jak haslo masz zakodowane przy pomocy md5() to nie przypomnisz ... musisz wygenerować nowe.

Dokladnie o to mi chodzi, jutro postaram sie cos napisac i wkleje smile.gif

W formularzu do wpisania jest tylko Mail na ktory zostalo zalozone konto (do logowania jest potrzebny mail i haslo).

Kod
<?

if( isSet($_POST['submit']) ) {

     if( empty($_POST['mail']) ) {
             // kod
     } else {
      
             $mail = mysql_real_escape_string($_POST['mail']);
     }

$query = "SELECT * FROM logowanie WHERE e_mail='$mail' ";
$result = mysql_query($query);
$rows = mysql_num_rows($result);

     if($rows == 0) {
 
             $blad .= '<span class="blad">Nie ma konta z takim mailem</span>';
     } else {
 
         $mail_2 = explode('@', $mail);
         $new = str_shuffle("Ab2Cu4w".$mail_2[0]);
 
         $name = "< od >";                                                                                                              
         $email = "< moj email >";                                                                                                                                                                 
         $mail_body = "Nowe haslo:\n".$new;                          
         $subject = "Nowe haslo";                                                                                          
         $header = "From: ". $name . " <" . $email . ">\r\n";                                          

         mail($mail, $subject, $mail_body, $header);

         $new = md5($new); // ja przed i po md5 robie jeszcze pare dziwnych operacji ale to jest przyklad
         $query = "UPDATE logowanie SET haslo='$new' WHERE e_mail='$mail';";
 
     }
 
}

?>


Co o tym sadzicie ?

Edit. Jesli ktos zna od kogos maila to moze byc nie ciekawie

Edit2. Co myslicie o tym, aby przy rejestracji, w mailu ktory sle do nowego uzytkownika kod aktywacyjny ktory aktywuje konto bylby rowniez kodem do zmiany hasla - ale tylko przy podaniu poprawnego maila. Lub inny kod ktory bedzie generowany rowniez przy rejestracji - z notka zeby maila nie usuwac bo w razie zapomnienia hasla ... itd.
RafaelX
jeżeli znasz choć trochę PHP to nie sprawi ci trudności napisanie skryptu działającego następująco:
1. w formularzu użytkownik wpisuje adres mail (lub mail i login jeśli maile nie są unikalne)
2. skrypt sprawdza czy mail znajduje się w bazie odszukując równocześnie rekord z hasłem tego usera
3. jeśli jest taki adres to tworzy nowe hasło ( poszukaj w necie skryptu losującego jakiegoś jak nie potrafisz sam napisać)
4. próbuje wysłać na maila owe hasło jak się uda to zamienia w bazie stare hasło na nowe, jak nie wyświetla error ze nie mógł wysłać.
5. Użytkownik odbiera maila i ma nowe działające hasło
6. koniec.


Jeśli nie ożywasz kodowania md5 albo sha1 wystarczy ze poszuka maila i jakiegoś dodatkowego hasła pomocniczego (np imię zwierzaka jeśli takie pole w bazie jest) i wyświetli znalezione hasło.
jednak nie polecam tego sposobu lepiej mieć szyfrowane hasło bo trudniej jest je złamać i włamać się komos na konto smile.gif
outsider
Cytat
4. próbuje wysłać na maila owe hasło jak się uda to zamienia w bazie stare hasło na nowe, jak nie wyświetla error ze nie mógł wysłać


Jak moglbym sprawdzic czy wiadomosc zostala wyslana ?
misiek08
  1. <?php
  2. if(mail(...)){
  3. echo 'ok';
  4. }else echo 'nie';
  5. ?>
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.