Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Logowanie, wylogowywanie, trzymanie sesji
matiit
post
Post #1





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

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


W celach naukowych piszę sobie CMS'a.
Mam tam między innymi panel admina. Logowanie przebiega tak:
Na początku każdej strony jest session_start();
Logowanie: plik login.php dostaje od formularza postem login i haslo, login i hash hasła są sprawdzane w bazie danych, jeśli wszystko się zgadza tworzę $_SESSION['logged'] = 'yes';
I strona może wyświetlać 2 widoki - dla użytkownika zalogowanego i dla użytkownika niezalogowanego. Warunek zalogowania? Czy istnieje zmienna $_SESSION['logged'] i czy jest ustawiona na yes. Jeśli tak wyswietla się content dla zalogowanych, jeśli nie - wyświetla się content dla niezalgowanych, np. loginform.
Wylogowanie:
W skrócie:
  1. unset($_SESSION['logged']);

I pojawiają się 2 pytania... Czy jest to bezpieczne? Czy ktoś nie może sobie utworzyć zmiennej sesyjnej takiej jak podana i sie po prostu wbić?
Gdzie przechowywać takie dane jak id zalogowanego usera? Przydatne przy np. zmianie hasła.

Ten post edytował matiit 11.01.2010, 22:34:37
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




  1. if ($_SESSION["czas"] and $_SESSION["czas"]+60*30<time()) { // 30 minut i następuje wylogowanie
  2. echo "Sesja wygasła - nastąpiło automatyczne wylogowanie...";
  3. }
  4. $_SESSION["czas"] = time();

Automatyczne wylogowanie po 30 minutach
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 9.10.2025 - 11:12