• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[PORADNIK] Tworzenie gry przeglądarkowej - #5 Logowanie i rejestracja

Object Storage Arubacloud
+16 głosów
772 wizyt
pytanie zadane 16 czerwca 2015 w Nasze projekty przez Geek Pasjonat (19,660 p.)

Cześć :)

W kolejnej części kursu napiszemy klasę realizującą rejestrację i logowanie użytkownika. Dodamy też proste zabezpieczenie przed wejściem na "strony gry" niezalogowanego użytkownika.

Zapraszam :)

Wpis znajduje się tutaj.

5 odpowiedzi

+3 głosów
odpowiedź 16 czerwca 2015 przez Comandeer Guru (601,550 p.)

Czemu hashujesz hasła MD5? Do haseł w PHP powinno się stosować algorytm bcrypt dostępny za pośrednictwem funkcji password_hash i password_verify (a dla starszych przy pomocy password_compat).

MD5 jest obecnie rozwiązaniem skrajnie przestarzałym i de facto daje bezpieczeństwo na poziomie plain textu. No chyba że w części poświęconej bezpieczeństwu po raz kolejny będziesz modyfikował tablicę ;)

komentarz 16 czerwca 2015 przez Geek Pasjonat (19,660 p.)
W którym miejscu hashuje hasło?
komentarz 16 czerwca 2015 przez Comandeer Guru (601,550 p.)

Choćby tutaj:

protected function getIdByUsername() { //pobieranie id użytkownika mając jego nick
        
        $array = DatabaseManager::selectBySQL("SELECT * FROM users WHERE username='".$this->login."' AND password='".md5($this->password)."' LIMIT 1");
        foreach($array as $key) {
            $id = $key['id'];
        }
        return $id; //zwracamy id
        
    }

 

1
komentarz 16 czerwca 2015 przez Geek Pasjonat (19,660 p.)
Nie ważne, źle Cię zrozumiałem. Jestem zmęczony, wybacz. Słyszałem że MD5 nie są najlepszym rozwiązaniem, ale nie wiedziałem, że aż tak złym. Poprawię to już w tym poście w wolnej chwili, dzięki że mi powiedziałeś.

PS: Wpędzasz mnie a paranoje :D Za każdym razem gdy wrzucam post i widzę że pojawiła się nowa odpowiedź to już widzę Twój post z wypunktowaną listą błędów :D
1
komentarz 16 czerwca 2015 przez Comandeer Guru (601,550 p.)
Heh, przepraszam. Ale w końcu jestem naczelnym WebKrytyka - stanowisko zobowiązuje ;)
komentarz 17 czerwca 2015 przez Mizukage Pasjonat (21,750 p.)
Geek myśle że tylko na tym skorzystasz :)
komentarz 17 czerwca 2015 przez Geek Pasjonat (19,660 p.)
Jasne, że tak. Nie napisałem że tego nie doceniam. Przeciwnie :)
komentarz 17 czerwca 2015 przez Mizukage Pasjonat (21,750 p.)
Spoko, ja tez nie napisalem ze tego nie doceniasz
+2 głosów
odpowiedź 23 czerwca 2015 przez err0r Obywatel (1,520 p.)
hej ;) kiedy wyjdzie 6-ta część?
komentarz 24 czerwca 2015 przez Geek Pasjonat (19,660 p.)
Już dzisiaj :)
komentarz 24 czerwca 2015 przez Mieszko I Stary wyjadacz (10,980 p.)
O której godzinie wyjdzie ten post?
komentarz 24 czerwca 2015 przez Geek Pasjonat (19,660 p.)
O 21:00 wyjdzie :)
+1 głos
odpowiedź 16 czerwca 2015 przez Michau Xlow Pasjonat (15,190 p.)
Dzięki serdeczne za kolejny wpis;-)
komentarz 16 czerwca 2015 przez Geek Pasjonat (19,660 p.)
Nie ma sprawy :)
+1 głos
odpowiedź 16 czerwca 2015 przez Schizohatter Nałogowiec (39,600 p.)
header('Location: xxx');

nie przerywa wykonywania skryptu!!

komentarz 16 czerwca 2015 przez Geek Pasjonat (19,660 p.)
Gdzie tak napisałem? Byłem zmęczony pisząc i możliwe, że popełniłem błąd.
komentarz 16 czerwca 2015 przez efiku Szeryf (75,160 p.)
Ciekawostka.
Jak zrobimy :
$um = new UserManager;
$um->getIdByUsername();
To dostaniemy notice.
IMHO do konstruktora w UW można wsadzić VO ( który przechowuje tylko login, hasło i jakąś walidację) i nie skracać zmiennych.
Ciekawostka #2: Kiedyś trafiłem na tego linka http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html :D
komentarz 16 czerwca 2015 przez Schizohatter Nałogowiec (39,600 p.)

Nie napisałeś, ale używasz tego bez używania exit; A nuż ominiesz coś, pomylisz jakiś warunek, czy coś, a będziesz przeświadczony o tym, że przecież jak masz przekierowanie, to możesz o skrypcie zapomnieć, i będziesz miał potem problem.

komentarz 16 czerwca 2015 przez Geek Pasjonat (19,660 p.)
Faktycznie. Dzięki :)
+1 głos
odpowiedź 17 czerwca 2015 przez Mieszko I Stary wyjadacz (10,980 p.)
Dzięki za ten wpis.
komentarz 17 czerwca 2015 przez Geek Pasjonat (19,660 p.)
Nie ma problemu :)

Podobne pytania

+4 głosów
2 odpowiedzi 605 wizyt
+5 głosów
3 odpowiedzi 646 wizyt
+8 głosów
4 odpowiedzi 352 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...