Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP PDO password_verify nie działa
alberthus
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 16.01.2014

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


Witam

Mam problem z logowanie, ponieważ nie wiem jak odczytać zaszyfrowane hasło.

W rejestracji wrzucam je tym:
  1. $new_password = password_hash($this->password, PASSWORD_DEFAULT);


W logowaniu próbuję wybrać i odczytać tym ale nie przepuszcza. Hasła nie szyfrowane loguje normalnie.

  1. function logowanie(){
  2.  
  3.  
  4. try{
  5.  
  6. $query = $this->pdo->prepare("SELECT * FROM users WHERE username = :username AND password = :password");
  7.  
  8. $query->execute(array(':username'=>$this->username,':password'=>$this->password));
  9.  
  10. }catch(Exception $e){
  11.  
  12. echo $e->getMessage();
  13. }
  14.  
  15. $wynik = $query->fetch(PDO::FETCH_ASSOC);
  16.  
  17.  
  18. if(password_verify($this->password, $wynik['password'])){
  19.  
  20.  
  21. return TRUE;
  22.  
  23. }else{
  24. throw new Exception("error");
  25. }
  26.  
  27. }


Jak to poprawić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
alberthus
post
Post #2





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 16.01.2014

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


Wróciłem do tego projektu po dłuższym czasie ale nadal jest problem.

Otóż przepuszcza mnie z byle jakim hasłem.

Pod $this->password siedzi hasło, które przyszło z formularza
a pod $wynik['password'] jest zaszyfrowane hasło z bazy

Jak to naprawić?

  1.  
  2. function logowanie(){
  3.  
  4.  
  5. try{
  6.  
  7. $query = $this->pdo->prepare("SELECT * FROM users WHERE username = :username");
  8.  
  9. $query->execute(array(':username'=>$this->username));
  10.  
  11. }catch(Exception $e){
  12.  
  13. echo $e->getMessage();
  14. }
  15.  
  16. $wynik = $query->fetch(PDO::FETCH_ASSOC);
  17.  
  18.  
  19. if(password_verify($this->password, $wynik['password'])){
  20.  
  21.  
  22. return TRUE;
  23.  
  24. }else{
  25. throw new Exception("error");
  26. }
  27.  
  28. }
  29.  
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 21:42