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

logowanie php

Object Storage Arubacloud
0 głosów
158 wizyt
pytanie zadane 16 kwietnia 2016 w PHP przez michal Mądrala (5,560 p.)
Mam pytanie czy system logowania opisany w drugim odcinku kursu PHP: https://www.youtube.com/watch?v=Pp578w7C9hE, jest bezpieczny? Mam zamiar do połączeń z bazą wykorzystać PDO, ale czy poza tym, jeśli zastosuje takie sprawdzanie loginu i hasła i informacje czy user jest zalogowany, czy nie będę przechowywał w zmiennych sesyjnych będzie bezpieczne? Czy może polecacie jakiś inny przystępny sposób który można w łatwy sposób opanować?

2 odpowiedzi

+2 głosów
odpowiedź 16 kwietnia 2016 przez efiku Szeryf (75,160 p.)
edycja 16 kwietnia 2016 przez efiku

Nie jest bezpieczny,  jest tylko do ćwiczeń - nie na produkcję. 

  • Po header dajemy exit
  • hasła hashujemy za pomocą password_hash, weryfikujemy za pomocą password_verify
  • htmlentit... to nie jest do tego co tam jest pokazane. I w żaden sposób nie chroni Cię to przed SQLI.
  • PDO + bindowanie parametrow ( TO CIĘ CHRONI )
  • zmienne Login i hasło rzucą noticem.
  • W sesji trzymaj tylko np id usera.  (tylko niezbędne rzeczy)
  • Nie wyciszaj błędów, tylko je obsługuj. Try.. catch. / isset /  "??" - "$variable = $array["x"] ?? "";
  • Szanuj swój Kod. Angielskie naszwy zmiennych, standard PSR-2
  • Oddziel html od PHP za pomocą Twiga.

Mysqli zobaczysz już niestety tylko w takich kursach ;) 

komentarz 16 kwietnia 2016 przez michal Mądrala (5,560 p.)
Dzięki za rozjaśnienie tematu.]

"Po header dajemy exit" - mógłbyś coś więcej powiedzieć co miałeś na myśli ?

Hashowanie hasła - rozumię

PDO - rozumię

Jak sprawdzać po zalogowaniu na kolejnych stronach czy user jest zalogowany? Zmienna sesyjna $_SESSION]'zalogowany'] z wartością  true/false ? Czy jest lepszy sposób? Jeśli jest to prosił bym chociaż o jakieś namiary czego szukać :)

Dzięki za pomoc.
komentarz 16 kwietnia 2016 przez efiku Szeryf (75,160 p.)

Jeżeli miałbym dać Ci namiary, to... wyobraź sobie, że takich rzeczy nie robimy już w czystym PHP.  Są od tego frameworki, które ogarniają za nas Routing, Sesje, poprawność danych..  W sesji zamiast zalogowany trzymałbym id usera, jak nie jest zalogowany to domyślnie ma -1 ( Anonimowy) i może być jakaś też rola.

"Po header dajemy exit" - podczas debugowania ładnie zobaczysz, że jak dajesz redirect to się okazuje, że skrypt się magicznie nie zatrzymał ;) dlatego trzeba dać exit.

np. exit( header("location")...);

 

0 głosów
odpowiedź 16 kwietnia 2016 przez Mateusz11 Pasjonat (22,910 p.)
System jest odporny na ataki SQLInjection, ale radzę jeszcze zamiast @ spróbować innych sposobów, zamiast tej nieszczęsnej @. Więc w zmiennych sesyjnych przechowywuj, chyba nie ma lepszych metod.
komentarz 16 kwietnia 2016 przez niezalogowany

 ale radzę jeszcze zamiast @ spróbować innych sposobów, zamiast tej nieszczęsnej @

Co radzisz zamiast tej nieszczęsnej @ ?

komentarz 16 kwietnia 2016 przez Mateusz11 Pasjonat (22,910 p.)
Pomyślmy... Hmm... Może try catch?
1
komentarz 16 kwietnia 2016 przez efiku Szeryf (75,160 p.)
"System jest odporny na ataki SQLInjection,"

Pokaż ten fragment kodu ;)

Podobne pytania

0 głosów
1 odpowiedź 157 wizyt
0 głosów
1 odpowiedź 629 wizyt
0 głosów
0 odpowiedzi 283 wizyt
pytanie zadane 24 listopada 2021 w PHP przez BarSki13 Obywatel (1,250 p.)

92,551 zapytań

141,393 odpowiedzi

319,522 komentarzy

61,936 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!

...