Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] problem z class
Forum PHP.pl > Forum > Przedszkole
noc_nik
Witam nie mam pojecia jak to zrobic zeby mi z protecta zwracalo do public haslo login w md5 linikjka 11

  1. $login = 'login';
  2. $pass = 'haslo';
  3.  
  4.  
  5. class Zakoduj{
  6. protected static function login($login){
  7. return md5($login);
  8. }
  9.  
  10. public static function haslo($pass){
  11. $zakoduj = hash_init(sha512, HASH_HMAC, 'tutaj');
  12. hash_update($zakoduj, $pass);
  13.  
  14. return hash_final($zakoduj);
  15. }
  16.  
  17. }
  18.  
  19. echo Zakoduj::haslo($pass);
hyhyhy
Być może nie jest to idealnie na temat, ale... po co Ci klasa zawierająca TYLKO dwie funkcje statyczne? Z powodzeniem mógłbyś zastąpić ją dwoma zwykłymi funkcjami i powinno działać jak należy
Rysh
Ja się bardziej zastanawiam co robi funkcja login w tej klasie i kiedy ona jest uruchamiana, sama zmienna $login też jest nadzwyczaj często używana wink.gif
noc_nik
juz nie trzeba rozwiazalem problem.
by_ikar
Na przyszłość pisz jak rozwiązałeś, może to się komuś w przyszłości przyda. Modyfikator dostępu (protected/public/private) nie ma nic do sposobu w jaki się odwołujemy do właściwości lub metod wewnątrz klasy. W przypadku metod statycznych, odwoływać się musimy nie poprzez (w twoim przypadku) $this->login, ale poprzez self::login.
noc_nik
w linijce 11 w miejsce 'tutaj' wstawilem :

  1. Zakoduj::login($login)


i dziala wlasnym kluczem kodowania 64bit jest login w md5

ale to i tak zalezy teraz od tego czy ktos nie wstawi login : admin pass : admin1 smile.gif

wiec zeby sie teraz pobawic to mozna zrobi dodatkowe zabezpieczenia :

- validacje na 8znakow w tym 2-cyfry 2-duze litery 2-znaki specjalne
- ban czasowy na ip przy 3 probach blednego logowania
- i taka wersja ... dostep w okreslonym czasie przez usera
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.