Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> własna obsługa sesji w php5, teoria
Apo
post
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


Witam
Myśle nad stworzeniem własnej obsługi sesji w php5 i mysql. Chcia zrobić identyfikator sesji na podstawie adresu ip, uniqueid i time(), gdy skrypt stworzy ID to zapisze go do pliku a takiej nazwie jak np ip usera.
Gdy użytkownik będzie już miał swoje ID to skrypt otworzy ten plik odczyta ten ID i wykona zapytanie:
SELECT * FROM session WHERE ID = $ID AND IP = $REMOTE_ADDR;
No i wtedy otrzymam kolumne data gdzie będzie zserializowana tablica ze zeminnymi. Chciałem się zapytać czy takie rozwiązanie jest dobre ?
Ps. cookie odpadają

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Witam.
Na początku muszę przeprosić za bardzo długą nieobecność - siła wyższa.

Wracając do tematu. Skoro używasz sesji pewnie chcesz śledzić poczynania użytkownika na stronie, ewentualnie sprawdzać czy takowy jest zalogowany.

Jeśli masz jakąś bazę użytkowników, to w tabeli session dodajesz pole będące kluczem obcym. Kluczem pierwotnym jest idsession (serial). Do tabeli powinno zapisywać się też czas utworzenia, ip oraz rodzaj przeglądarki. Jeśli nie masz logwania użytkownika, a w związku z tym nie możesz podać idusera, wówczas na pierwszej stronie generujesz jakąś unikatową wartość i używsz jej zamiast iduser. Między stronami możesz przekazywać ją przy pomocy $_SESSION. Po każdym odświeżeniu strony sprawdzasz czy nie uległy zmianie przeglądarka, ip. Możesz również sprawdzić czas jaki upłynał od ostatniej akcji użytkownika na stronie. Każde odświeżenie strony oprócz zapisania powyższych informacji do bazy może również tworzyć plik o nazwie - iduser_timestamp. W ten sposób każdy użytkownik ma własny plik, nawet jeśli zdarzy się sytuacja wygenerowania takiego samego iduser. Usuwanie starych plików z sesją i wpisów do bazy może zajmować się skrypt działający w cronie, ewentualnie sama aplikacja podczas każdego przeładowania strony. Jeśli nie chcesz usuwać wpisów z bazy lepiej użyć bigserial.
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: 27.12.2025 - 08:50