Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Licznik zalogowanych użytkowników..., ...jak to ugryźć?
missile
post
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)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
eai
post
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
  1. <?php
  2.  
  3. odswiez_user();
  4. delete_user();
  5.  
  6. ?>
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: 15.10.2025 - 23:49