![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 12.11.2005 Skąd: hen hen Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Napisałem skrypt zliczający użytkowników online oraz wyświetlający tych zalogowanych, korzysta on z bazy danych MySQL i oparty jest o sesje i ip. Skrypt działa poprawnie, wszystko wyświetla się tak jak potrzeba, jednak problem pojawił się gdy zacząłem sprawdzać dziwne działania użytkowników, czy to przypadkowe, czy wykonane z premedytacją. Chodzi głównie o obsługę cookies i związane z nim autoryzowanie użytkownika. W momencie wyłączenia obsługi cookies i/lub usunięcie ciasteczka nie mam dostępu do zmiennych sesyjnych a tym samym nie mogę usunąć rekordu zalogowanego użytkownika z tabeli. Wiem istnieje możliwość przesyłania identyfikatora sesji metodą GET ale chcę tego uniknąć jest też pole ukryte w formaularzu ale wtedy bez JS się nie obejdzie. Powiem krótko chodzi mi o taki mechanizm jaki działa na tym forum tzn. jeżeli wyłącze obsługę cookies to automatycznie mój nick nie jest już wyświetlany... Z góry wielkie dzięki za, choćby najmniejszą, wskazówkę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() |
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 10 Dołączył: 20.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Tabela uzytkownikow on-line
Kod USER_ID | START_TIME * START_TIME = time(); * $END_TIME = 200 w sekundach I teraz tak piszesz funkcje np odswiez_user(); która robi UPDATE tabeli za kazdym razem jak uzytkownik wykona jakas akcje na stronie np. kliknie w jakis link itp. I piszesz druga funkcje np delete_user(); która będzie usuwała nieaktywnych userów [ if (START_TIME + $END_TIME < time()) { DELTE ... } ]. plik index.php
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 23:49 |