ForumCała strona

Nawigacja

Aktualnie online

Gości online: 28

Użytkowników online: 0

Łącznie użytkowników: 25,400
Najnowszy użytkownik: AlojzyBartek

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

Zbigniew@
17.11.2024 11:33:24
Nie ten grzeszy kto pije, ale ten, kto się nie upije.

JazOOn
16.11.2024 20:46:18
tja

Zbigniew@
15.11.2024 18:58:17
Kto pije, ten nie bije.

JazOOn
31.10.2024 20:49:47
Kto pije?

piterus
30.10.2024 19:45:48
I będziemy śpiewać: "Kiedy 20 blisko, przebadaj wszystko, przebadaj wszystko..." Pfft

Pobierz nową wersję
Pobierz podręcznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

Zobacz temat

 Drukuj temat
Wygasanie sesji po określnym czasie lub czynności
Szapko
Witam!
Próbuję zrobić jakiś w miarę dobry system logowania z użyciem sesji. Niby wszystko działa jak trzeba, logowanie, wylogowywanie, ale nie do końca. Chciałem, żeby sesja zostawała wymazana po np. 20 minutowej bezczynności i w przypadku gdy użytkownik zamknie stronę. Chcę też umożliwić użytkownikowi "zapisanie" sesji, które polegałoby na przedłużeniu jej wygaśnięcia (załóżmy, że do 3 dni od jego ostatniej obecności).

Plik heart.php:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


Logowanie.php:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


wiesci.php: (index)
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP

i formularz logowania:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


Da radę coś z tym zrobić?
Edytowane przez Pieka dnia 07.10.2010 15:01:24
 
Wścibski Gość
Dodany dnia 24.11.2024 22:44:44
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting SferaHost.pl
IP: localhost  
Chemikpil
Najłatwiej to na każdej stronie, na której może przebywać tylko zalogowany użytkownik, zapisywać czas ostatniego wywołania w sesji. Następnie porównać go z aktualną datą i, jeżeli minęło 20min to usunąć sesje i zabronić użytkownikowi dostępu(np przenieść go do logowania), a jeżeli nie to zaktualizować czas aktywności.

Co do przedłużenia sesji. Są dwa sposoby. Ciasteczka i baza danych. Sposób z bazą danych to zmiana sposobu działania sesji, co wiążę się z przebudową systemu. Całość oparta jest na klasach, a funkcją
Pobierz kod źródłowy  Rozwiń Kod źródłowy
zmieniamy sposób przechowywania sesji.
Ciasteczka to wiadome. Ustawiamy ich żywotność na np 3dni i sprawdzamy przy każdym wywołaniu czy istnieje i jakie ma dane. Trzeba tu jednak napracować się nad zabezpieczeniami. Nie mogą one się opierać tylko na ciasteczkach.

Jeżeli gdzieś coś pomyliłem to proszę o skorygowanie przez innych specjalistów :)
Pozdro.
Nie pisać na GG i PW w sprawach technicznych!
ChemikPil - blog (w nowej odsłonie) | ChemikPIL - My twitter
 
www.chemikpil.pl
Szapko
Zauważyłem teraz, że nawet gdy wyloguję się ręcznie ze strony, to w przeglądarce zostaje ciasteczko z identyfikatorem sesji, czy to normalne? Słabo znam się na sesjach, ale czytałem, że są bezpieczniejsze od ciasteczek, więc chciałem przy nich zostać.

// problem rozwiązany
Edytowane przez Szapko dnia 10.10.2010 13:47:52
 
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl