• 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

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
+16 głosów
1,020 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 (606,120 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 (606,120 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 (606,120 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 693 wizyt
+5 głosów
3 odpowiedzi 729 wizyt
+8 głosów
4 odpowiedzi 417 wizyt

93,103 zapytań

142,077 odpowiedzi

321,571 komentarzy

62,445 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...