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

Logowanie (po raz n-ty - projekt tabeli/tabel)

Object Storage Arubacloud
0 głosów
157 wizyt
pytanie zadane 19 grudnia 2017 w PHP przez Bartess Gaduła (3,630 p.)
edycja 19 grudnia 2017 przez Bartess

Cześć.
Temat wałkowany nie raz, ale nie udało mi się znaleźć tego, co mnie „dręczy”.
Chciałem zapytać o logowanie i użytkowników, ale pod kątem tabeli w bazie danych.
Niezbędne minimum w takiej tabeli users to 3 pola:
id (AUTO_INCREMENT), login (z kluczem unique), password_hash. ( w sumie id chyba nawet nie jest niezbędne).
Dodatkowo:
Imię i nazwisko (w 1 kolumnie, czy w 2?) Ja bym zrobił w 2,
email,
data_rejestracji (CURRENT_TIMESTAMP),
aktywny. (informacja o tym, czy użytkownik może się logować. Wolę ustawić info, że zablokowany, niż usuwać, by nie stracić informacji użytkowniku, którego id będzie wpisane w jakiejś innej tabeli).
Czy informację o liczbie logowań, dacie ostatniego logowania, udanym logowaniu, zapisywać w tabeli users, czy do tych rzeczy założyć osobną tabelę users_login_history?
Wydaje mi się, że osobna tabela byłaby lepsza, daje całą historię (prób) logowań. Chyba łatwiej też byłoby na podstawie danych z takiej tabeli np. zablokować czasowo użytkownika po np. 3 nieudanych próbach logowania. Co myślicie?
Czy w tabeli users_login_history warto zapisać IP  (wg mnie warto) oraz $_SERVER['HTTP_USER_AGENT']?
W tabeli users_login_history kolumny:
id (AUTO_INCREMENT), user_id, date (CURRENT_TIMESTAMP), IP, user_agent.

Jeszcze jedno sobie wymyśliłem... W tabeli users chciałbym dołożyć kolumnę salt. W tą kolumnę zapisywałbym ciąg np. 20 znaków, który były generowany losowo podczas rejestracji użytkownika. Ten ciąg znaków byłby doklejany do hasła użytkownika przed hashowaniem password_hash($pass_user.$randsalt, PASSWORD_DEFAULT). Czy lepiej robić to przez dodanie losowej soli w $options: password_hash($pass_user, PASSWORD_DEFAULT, $options)?

Co o tym myślicie? czy to już zbędne udziwnianie?

1 odpowiedź

+1 głos
odpowiedź 19 grudnia 2017 przez Schizohatter Nałogowiec (39,600 p.)

Czy informację o liczbie logowań, dacie ostatniego logowania, udanym logowaniu, zapisywać w tabeli users, czy do tych rzeczy założyć osobną tabelę users_login_history?

 Osobną.

Czy w tabeli users_login_history warto zapisać IP  (wg mnie warto) oraz $_SERVER['HTTP_USER_AGENT']?

Warto.

Jeszcze jedno sobie wymyśliłem... W tabeli users chciałbym dołożyć kolumnę salt. W tą kolumnę zapisywałbym ciąg np. 20 znaków, który były generowany losowo podczas rejestracji użytkownika. Ten ciąg znaków byłby doklejany do hasła użytkownika przed hashowaniem password_hash($pass_user.$randsalt, PASSWORD_DEFAULT). Czy lepiej robić to przez dodanie losowej soli w $options: password_hash($pass_user, PASSWORD_DEFAULT, $options)?

słowo klucz: bcrypt i masz sprawę haseł z głowy.

Podobne pytania

0 głosów
0 odpowiedzi 176 wizyt
pytanie zadane 6 marca 2020 w C# przez assassin Gaduła (3,260 p.)
+1 głos
1 odpowiedź 147 wizyt
pytanie zadane 17 września 2020 w PHP przez Bakkit Dyskutant (7,600 p.)
0 głosów
2 odpowiedzi 113 wizyt
pytanie zadane 25 marca 2016 w PHP przez niezalogowany

92,555 zapytań

141,403 odpowiedzi

319,560 komentarzy

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

...