Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [kohana] problem z haszowaniem
Forum PHP.pl > Forum > PHP > Frameworki
wald3k
Chcę porównać hasło zapisane w bazie danych z tym wprowadzonym przez użytkownika i nie wiem jak to zrobić.
Robię coś takiego:
  1. echo Auth::instance()->get_user()->password .'<br/>';
  2. echo Auth::instance()->hash_password($this->input->post('password'), Auth::instance()->find_salt(Auth::instance()->get_user()->password));

Ale wypisywane wartości różnią się.

Hasło do bazy zapisuję tak:
  1. Auth::instance()->hash_password($password, true);

A do logowania używam:
  1. Auth::instance()->login($username, Auth::instance()->hash_password($password, true));


Wie ktoś może jak to powinno być zrobione, albo jak inaczej to spróbować zrobić można by?
nmts
Nie hashuj hasła przy rejestracji / logowaniu ani nie porównuj go z tym w bazie, wszystko dzieje się automatycznie, a przynajmniej powinno.
wald3k
No dobra hashowanie dzieje się samo, ale. Jakbym np chciał zrobić zmianę hasła, to użytkownik podaje nie tylko nowe hasło ale powinien też podać i stare hasło które chyba powinienem porównać z tym co jest zapisane w bazie. Metoda change_password przyjmuje jako parametr tablicę z nowym hasłem i powtórzonym nowym hasłem, więc trzeba by chyba samemu zrobić takie porównywanie hasła. No chyba że można to zrobić całkiem inaczej, a nie wiem o tym.
nmts
U mnie wartości są dobre, więc dobrze porównujesz, w pierwszym poście widzę, że hashujesz hasło podczas rejestracji (a nie jak napisałeś zapisujesz), dlatego zgaduje, że później porównujesz hash nowego hasła, z hashem hasha starego hasła.
wald3k
Ehh... jestem chyba ślepy... sciana.gif Wywaliłem hash_password() jak pisałeś i hashe się zgadzają... a wszelki dalsze problemy brały się z tego że przez przypadek nie tylko do echo dodałem .'<BR/>' ale i do zmiennej przechowującej wartość salt sciana.gif .
PawelC
Przepraszam, że się wtrącam nie w swój temat, ale mam pytanie właśnie odnośnie logowania w Kohana PHP, co jest lepiej używać Simple_Auth, czy Auth? czy to bez różnicy? Pytam, ponieważ potrzebuję, prosty system logowania + przyznawanie roli userom, a nie chcę zakładać nowego tematu.
k_@_m_i_l
Cytat(ExPlOiT @ 22.10.2010, 00:18:46 ) *
Przepraszam, że się wtrącam nie w swój temat, ale mam pytanie właśnie odnośnie logowania w Kohana PHP, co jest lepiej używać Simple_Auth, czy Auth? czy to bez różnicy? Pytam, ponieważ potrzebuję, prosty system logowania + przyznawanie roli userom, a nie chcę zakładać nowego tematu.


Ja ze swojej strony polecam Simple_Auth. Dużo bardziej przypadła mi do gustu ta biblioteka niż standardowy Auth.
Więc jeśli potrzebujesz prostego systemu logowania, to użyj simple auth.
Pracowałem z Simple_Auth na Kohanie 2.3.x i sprawdza sie bardzo dobrze.
PawelC
Właśnie na 2.3.4 potrzebuje tego modułu:) Ok, dzięki za pomoc.
Snap
Ja osobiście polecam moduł A1 (http://github.com/Wouterrr/A1) do autoryzacji użytkowników.
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.