Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Przechowywanie informacji o użytkowniku, w sesji?
axwell
post
Post #1





Grupa: Zarejestrowani
Postów: 143
Pomógł: 1
Dołączył: 14.11.2007

Ostrzeżenie: (10%)
X----


Tworzę swój pierwszy panel administracyjny do strony i zanim zacznę pisać mechanizm logowania użytkownika mam następujące pytanie:

W bazie mam zapisane informacje o użytkowniku tzn. login, hasło i uprawnienia. Czy mogę dane o uprawnieniu zapisać w zmiennej sesji i potem z niej korzystasć? Chodzi mi o coś w stylu "jeśli $_SESSION['auth'] == "admin" to pokaż opcję dla admina"

czy może też za każdym wywołaniem skryptu pytać bazę czy aktualnie zalogowany użytkownik ma w tabeli uprawnienie x ?

Chdzi mi tu o aspekty bezpieczeństwa, szybkości no i przede wszystkim "jak to się zazwyczaj robi"
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
goartur
post
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 19.10.2014

Ostrzeżenie: (0%)
-----


Widze twoj problem, osobiecie mysle ze nadawanie nazw uprawnienia nie ma sesu, w koncu tylko uprawiniona osob ma dostep do bazy danych wiec polecam uzywanie liczb calkowitych.
Przyklad:
Tabela(permissions)
0 - Zwykly uzytkownik
1 - Moderator
2 - Administration

Mysle ze to jest lepsze rozwiazanie, baza danych ma sluzyc jako pamiec, aby to profesjonalniej wygladalo uzywaj liczb.

Co do sesji podczas sprawdzania loginu i hasla wyciagnij tez Prawa, i uzyj switch aby porownac wyniki,

przyklad:

  1. switch($prawa){
  2. case "0":
  3. $_SESSION['uprawnienia'] = "0"
  4. break;
  5.  
  6. case "1":
  7. $_SESSION['uprawnienia'] = "1"
  8. break;
  9.  
  10. case "2":
  11. $_SESSION['uprawnienia'] = "2"
  12.  
  13. break;
  14.  
  15. }


Konkluzja:

Tak, uzywaj sesji to najlepsze rozwiazanie, bazuj na zapytaniu w pliku login.php.
Ciagle pobieranie danych z bazy nie ma sesu, i spowoni tylko proces.

Pozdrawiam.

Ten post edytował goartur 18.04.2015, 15:19:25
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 04:54