![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Jestem w trakcie pisania funkcji logowania i weryfikacji czy ktoś jest zalogowany. Czy możecie pomóc mi określić bezpieczeństwo mojego systemu? LOGOWANIE - przed wprowadzeniem danych do funkcji login wcześniej weryfikuje dane wprowadzone przez klienta
WERYFIKACJA - zwraca true lub false w zależności czy ktoś jest zalogowany
WYLOGOWANIE
Na stronie pliki które chcemy ukryć dla niezalogowanych na górze wówczas dajemy komendę:
Ten post edytował gandziorz 29.11.2015, 20:56:46 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 270 Pomógł: 184 Dołączył: 7.10.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Przydało by się jeszcze bindowanie danych.
I pytanie jakim sposobem hashujesz hasło ? Ten post edytował rad11 29.11.2015, 21:33:05 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Przydało by się jeszcze bindowanie danych. I pytanie jakim sposobem hashujesz hasło ? http://php.net/manual/en/function.password-hash.php Rozwiniesz myśl o bindowaniu danych? Ps. Używam mysqli ponieważ jest szybsze niż PDO. Za to w projektach gdzie jest mysql/postresql używam PDO ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
hasło w sesii, pomyłka. Na co Ci to?
Hasło w BD plain tekstem? Lepiej idź skoczyć z mostu. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Cytat Rozwiniesz myśl o bindowaniu danych? http://php.net/manual/en/mysqli.quickstart...-statements.php Hasło w sesji Ci na nic (hash też), więc tego nie przechowuj. Natomiast w bazie danych zamiast hasła przechowuj hash. -------------------- ★Mój blog || Okiem krytyka★
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
http://php.net/manual/en/mysqli.quickstart...-statements.php Hasło w sesji Ci na nic (hash też), więc tego nie przechowuj. Natomiast w bazie danych zamiast hasła przechowuj hash. To gdzie wysłać dane jak nie w sesji? Cookie? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
W cookie to już de facto podanie tego na talerzu.
Nie, po prostu hasła ani jego hashu nie trzyma się w sesji. Bo po co Ci to tam? A samą weryfikację ograniczyłbym do sprawdzenia czy są ustawione odpowiednie zmienne sesyjne. -------------------- ★Mój blog || Okiem krytyka★
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
W cookie to już de facto podanie tego na talerzu. Nie, po prostu hasła ani jego hashu nie trzyma się w sesji. Bo po co Ci to tam? A samą weryfikację ograniczyłbym do sprawdzenia czy są ustawione odpowiednie zmienne sesyjne. Czyli do sesji wysyłam zamiast zakodowanego hasła... ? Jeżeli dam informację w postaci zwrotu id użytkownika zapisanego w mysql i informacje czy ktos jest zalogowany, np. $_SESSION['id'] = "id uzytkownika w mysql"; $_SESSION['log'] = true; To nie będzie to zbyt narażone że ktoś podmieni "id" i w ten sposób zaloguje się na obce konto? |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Do $_SESSION w normalnym przypadku się nie dostaniesz.
Ten global $mysqli; Może się kiedyś na Tobie zemścić, miej to na uwadze. No i jak przedmówcy pisali, hasła NIGDZIE nie trzymasz plain textem. Hasło trzymasz tylko tam gdzie jest to absolutnie niezbędne, czyli w bazie danych w tym przypadku. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 06:32 |