• 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

Hosting forpsi easy 1 pln
+16 głosów
643 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 (596,500 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 (596,500 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 (596,500 p.)
Heh, przepraszam. Ale w końcu jestem naczelnym WebKrytyka - stanowisko zobowiązuje ;)
komentarz 17 czerwca 2015 przez Mizukage Pasjonat (21,730 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,730 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 589 wizyt
+5 głosów
3 odpowiedzi 616 wizyt
+8 głosów
4 odpowiedzi 336 wizyt

92,125 zapytań

140,785 odpowiedzi

317,804 komentarzy

61,446 pasjonatów

Advent of Code 2023

Top 15 użytkowników

  1. 1468p. - Łukasz Eckert
  2. 1444p. - Dawid128
  3. 1430p. - CC PL
  4. 1419p. - rafalszastok
  5. 1418p. - Marcin Putra
  6. 1373p. - Mikbac
  7. 1362p. - rucin93
  8. 1351p. - sefirek
  9. 1325p. - Michal Drewniak
  10. 1296p. - Adrian Wieprzkowicz
  11. 1267p. - Eryk Andrzejewski
  12. 1260p. - TheLukaszNs
  13. 1239p. - JarekDev
  14. 1188p. - Rafał Trójniak
  15. 1179p. - 13NOONE37
Szczegóły i pełne wyniki

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.

Uwaga - w dniach od 02.12 do 08.12 trwają Mikołajki (książki drukowane mają rabat -35%, ebooki do -45%). Zaś dodatkowy, specjalny kod zniżkowy: HELMIKOLAJ-10 dla naszych Widzów zapewni Wam oszczędność -10zł dla zamówień powyżej 70zł! Warto korzystać!

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...