"Przypomnienia hasla" = pomocy :)

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
BuLa
Posty: 4
Rejestracja: pt wrz 19, 2003 11:13 am
Kontakt:

"Przypomnienia hasla" = pomocy :)

Post autor: BuLa »

witam
mam pewnie problem

w bazie danych mam pola np
nick, email, haslo

ktos wchodzac na strone moze sie zalogowac podajac nick i haslo

chcialbym zrobic pod tym cos takiego jak "Zapomnialem hasla"
po wejsciu w to czebabylo by wpisac email.
Gdy ktos wpisze email i da OK. PHP sprawdza w bazie czy jest taki email, jak jest to wysyla na ten email nicka i haslo.

Kto ma lub umie napisac taki scrypt?
bylbym bardzo wdzieczny

Pozdrawiam :)
raf2001
Nowy
Nowy
Posty: 96
Rejestracja: wt lis 05, 2002 11:56 am
Lokalizacja: Żyrardów
Kontakt:

Re: "Przypomnienia hasla" = pomocy :)

Post autor: raf2001 »

Rzecz wygląda prosto, lecz mogą być trudności w stworzeniu tego typu skryptu. dlatego opisze tylko teorie:
Po pierwsze jeżeli ktoś wybierze link "Zapomniane hasło" to wtedy rozpocznie proces, który polega na tym:
Po podaniu e-maila system wyszukuje w bazie z hasłami takiego maila i wybiera je z bazy. W nasępnym etapie można wyświetlić login (oczywiście bez hasła)i użytkownik musi potwierdzić klikając przycisk dalej, wówczas jest generowane nowe hasło (zalecam stosowanie funkcji która stworzy ciąg abcd1234 lub a12bc3d4) i zastępuje te, które uzytkownik zapomniał i wysyła nowe hasło na e-mail. Istnieje także druga metoda, ale moim zdaniem mniej bezpieczna: Po podaniu putania użytkownik na nie odpowiada i w zależności czy odpowiedz jest identyczna z tą którą podał podczas rejestracji podaje mu hasło. Można sobie wyrać ja polecam ten piierwszy
the_foe
Przelotem
Przelotem
Posty: 295
Rejestracja: pt sty 31, 2003 12:53 pm
Lokalizacja: Wałbrzych
Kontakt:

Re: "Przypomnienia hasla" = pomocy :)

Post autor: the_foe »

[php]<?php
function send_forgotten_password($login, $mail_od, $mail_zwrotny){
$go=mysql_query("SELECT email, haslo FROM jakas_tabela WHERE nick='$login'");
$rzad=mysql_fetch_assoc($go);
mail($rzad['email'], "Przyponienie hasła", "Twoje hasło to: $rzad['haslo']",
"From: $mail_od\r\n"
."Reply-To: $mail_zwrotny\r\n"
."X-Mailer: PHP/" . phpversion());

}
?>[/php]

mail_od to oczywiscie adres jaki bedzie widzial odbiorca, mail_zwrotnuy to mail na jaki zostanie wyslana ew. odpowiedz.
Ostatnio zmieniony sob wrz 20, 2003 3:07 pm przez the_foe, łącznie zmieniany 1 raz.
Łukasz Świerżewski
Nowy
Nowy
Posty: 82
Rejestracja: wt paź 22, 2002 4:15 pm
Lokalizacja: Warszawa
Kontakt:

Re: "Przypomnienia hasla" = pomocy :)

Post autor: Łukasz Świerżewski »

WItam!
Chciałem dodać, że mogą być problemy z wysłaniem takiej wiadomości, gdyż większość serwisów w celu bezpieczestwa wyłącza obsługę funkcji mail(). Aby obejsć ten prblem, należałoby skorzystać z klasy SMTP. Więcej na jej temat możesz dowiedzięeć się u administratora twojego serwisu.

Pozdrawiam!
Dawid Pytel
Nowy
Nowy
Posty: 67
Rejestracja: śr cze 19, 2002 8:58 pm
Lokalizacja: Tychy
Kontakt:

Re: "Przypomnienia hasla" = pomocy :)

Post autor: Dawid Pytel »

gdyż większość serwisów w celu bezpieczestwa wyłącza obsługę funkcji mail().
Większość? Ufff, to dobrze, że wszystkie serwery na których mam swoje aplikacje należą do mniejszości. No ale pierwsze słysze. Wydawało mi się, że funkcja ta wyłaczana jest w celu ogranczenia możliwości darmowych serwerów PHP.
A więc jakie to niebezpieczeństwa są związane z mail? Pytam poważnie.
the_foe
Przelotem
Przelotem
Posty: 295
Rejestracja: pt sty 31, 2003 12:53 pm
Lokalizacja: Wałbrzych
Kontakt:

Re: "Przypomnienia hasla" = pomocy :)

Post autor: the_foe »

Dawid Pytel pisze:
Większość? Ufff, to dobrze, że wszystkie serwery na których mam swoje aplikacje należą do mniejszości. No ale pierwsze słysze. Wydawało mi się, że funkcja ta wyłaczana jest w celu ogranczenia możliwości darmowych serwerów PHP.
A więc jakie to niebezpieczeństwa są związane z mail? Pytam poważnie.
chodzi o to, zeby nie uzywac mail() do spamu. Darmowe srwisy narazily by sie na wciagniecie na "czarna liste" spamerow, co oznaczaloby ze zwykly mailowy uzytkownik nie moglby wyslac sobie maila.
ODPOWIEDZ