Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przypomnienie hasła
sigal2006
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 17.02.2010

Ostrzeżenie: (10%)
X----


napisałem skrypt do przypomnienia hasła oto i on

  1. <?
  2. $email_to=$_POST['email_to'];
  3.  
  4. $query=("SELECT 'haslo' FROM uzytkownicy WHERE email ='$email_to'");
  5. $result=mysql_query($query);
  6.  
  7. $count=mysql_num_rows($result);
  8.  
  9. // jeśli $count =1
  10. if($count==1){
  11.  
  12. $rows=mysql_fetch_array($result);
  13. $your_password=$rows['haslo'];
  14.  
  15.  
  16. $to=$email_to;
  17. $subject="Przypomnienie hasła";
  18. $header="from: stronawww <admiin@www.pl>";
  19. $messages.= "Twoje hasło do Bazy \r\n";
  20. $messages.= "Twoje hasło do bazy to $your_password \r\n";
  21. $sentmail = mail($to,$subject,$messages,$header);
  22. }else{
  23. echo "Nie znaleziono takiego adresu e-mail w naszej bazie";
  24. }
  25.  
  26. if($sentmail){
  27. echo "Twoje hasło zostało wysłane na twój adres e-mail.";
  28. }else{
  29. echo "Nie mogliśmy wysłać hasła na Twój adres. Spróbuj jeszcze raz";
  30. }
  31.  
  32. ?>


Wysyła email ale nie podaje hasła hasła mam kodowane w md5 może to ważne.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
_Borys_
post
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

Ostrzeżenie: (0%)
-----


md5 to hashowanie czyli nie wyciągniesz hasła z hasha bo to jednostronne kodowanie. Jedynie metodą porównawczą możesz odgadnąć hasło ale to trwa wieki.
W celu odzyskania hasła można wysłać na maila hasło resetujące i potem właściciel maila loguje się jednorazowo na stronie i zmienia hasło na nowe.
Go to the top of the page
+Quote Post
adbacz
post
Post #3





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


Nie wiem czemu, ale nie rozumiem Twojego problemu. Jakiego hasła nie podaje? Tego w wiadomości którą wysyłasz?

Jeśli hasła w bazie masz hashowane w MD5 to nic nie da jak wyślesz je na meila, użytkownik i tak się nie zaloguje tym hasłem bo to tylko ciąg liter i cyfr, nic nie mający wspólnego z jego prawdziwym hasłem. Wg mnie powinieneś pomyślec nad tym, aby użytkownikowi wysyłać meila z linkiem w którego URLu będzie kod do resetu hasła. Jeśli w bazie przy jego emailu znajdzie się ten sam kod to w tedy wyświetlasz mu formularz do zmiany hasła i to wszystko.

To jest najprostrze i powiedzmy, że bezpieczne.

PS. Jesli CI chodzi o to hasło, które masz zakodowane w DB, że go nie wysyła, to spróbuj napsiać takie coś jako test, żeby sprawdzić co się konkretnie wysyła w tej wiadomości:
  1. <?php
  2. $email_to=$_POST['email_to'];
  3.  
  4. $query=("SELECT 'haslo' FROM uzytkownicy WHERE email ='$email_to'");
  5. $result=mysql_query($query);
  6.  
  7. $count=mysql_num_rows($result);
  8.  
  9. // jeśli $count =1
  10. if($count==1){
  11.  
  12. $rows=mysql_fetch_array($result);
  13. $your_password=$rows['haslo'];
  14.  
  15.  
  16. $to=$email_to;
  17. $subject="Przypomnienie hasła";
  18. $header="from: stronawww <admiin@www.pl>";
  19. $messages.= "Twoje hasło do Bazy \r\n";
  20. $messages.= "Twoje hasło do bazy to $your_password \r\n";
  21. $sentmail = mail($to,$subject,$messages,$header);
  22. }else{
  23. echo "Nie znaleziono takiego adresu e-mail w naszej bazie";
  24. }
  25.  
  26. if($sentmail){
  27. echo "Twoje hasło zostało wysłane na twój adres e-mail. Treść wiadomości brzmi: \n\n $messages";
  28. }else{
  29. echo "Nie mogliśmy wysłać hasła na Twój adres. Spróbuj jeszcze raz";
  30. }
  31.  
  32. ?>


Ten post edytował adbacz 28.07.2011, 22:57:39
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 15:57