Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zapisywanie sesji
Forum PHP.pl > Forum > Przedszkole
Lirdoner
Witam, zastanawiam się po co zapisywać dane sesji do bazy danych
tzn loguje użytkownika, generuje dla niego id sesji zapisuje do bazy łącznie z klientem, adresem ip i takie tam i co potem z tym zrobić?
Widzę, że różne skrypty mają osobną tabele dla sesji i tam zapisują wszystkie te dane tylko po co? ;/
Bateria
A po to żebyś potem mógł wyświetlić login usera, e-mail itd.
Lirdoner
no to dotychczas robiłem to tak, że w sesji przetrzymywałem id zalogowanego usera i na podstawie tego z bazy danych pobieralem login, email i takie tam i to wyświetlałem więc nadal nie za bardzo kojarze po zapisywać dane sesji
Bateria
Rozumien cię, ale to co napisałeś powyżej jest mało wydajne.
O wiele lepiej pobrać wszystkie potrzebne dane do sesji (tablica) i potem nie trzeba będzie się gimnastykować z zapytaniami aby wyświetlić zwykły nick.
sh3d2
Wynika to z defaultowego mechanizmu realizacji sesji w php.
Dane sesji trzymane sa w kat /tmp, co w pewnych warunkach moze prowadzic do niebezpiecznych sytuacji (kazdy moze zapisywac w tmp).

Zapisywanie danych sesji w db (czyli nadpisanie mechanizmow obslugi sesji - funkcja session_set_save_handler() - pozwala na zminimalizowanie tego ryzyka.
Van Pytel
A nie lepiej trzymać sesje w ciasteczku? Jeśli ciasteczko wygaśnie to i sesja wygasa.
sh3d2
ciasteczka nie sa najbezpieczniejszym mechanizmem do przechowywania jakichkolwiek waznych (Z pktu widzenia aplikacji) danych - przeciez sa przechowywane po stronie usera.
Van Pytel
No tak, tylko w ciasteczkach można przechować login + hasło w zakodowanej formie, a gdy ktoś wejdzie do php sobie odkoduje i sprawdzi.
Lorum3
Osobiście przeważnie nie trzymam takich rzeczy w bazie, bo i po co wykonywać dodatkowe zapytania.

  1.  
  2. $_SESSION['login'] = $login;
  3.  
  4. $_SESSION['password'] = sha1( $password);
  5.  
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.