ForumCała strona

Nawigacja

Aktualnie online

Gości online: 5

Użytkowników online: 0

Łącznie użytkowników: 25,386
Najnowszy użytkownik: Hisfatt

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

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

Zbigniew@
01.04.2024 12:28:45
Wszystkiego najlepszego z okazji świąt.

JazOOn
28.02.2024 19:25:31
ja zostałem przy fusionie ale nazywa się 360. Projektowanie i druk 3d...

MajsterBieda
25.02.2024 00:12:42
Ponad 20 lat .... tosz to sioook panie.... Grin

JazOOn
24.02.2024 20:32:31
a już na pewno mamuty

JazOOn
24.02.2024 20:31:59
Albo dinozaury

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 18.04.2024 18:52:02
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