Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] lista zalogowanych użytkowników
Forum PHP.pl > Forum > PHP
tomick33
Witam

Chciałbym się zapytać w jaki sposób można napisać skrypt uwierzytelniania użytkowników z użyciem bazy danych dzięki któremu byłaby możliwość wyciągnięcia ilości zalogowanych użytkowników oraz w przypadku nieaktywności użytkownika - wydalenie go z listy zalogowanych użytkowników. Jak za coś takiego się zabrać ?
Kildyt
Ja to rozwiązałem w taki sposób:
zapisuję do bazy danych kiedy dany użytkownik wykonał ruch. Jeżeli czas w którym go wykonał jest mniejszy np. o 100sek. od obecnego to usuwam go z listy aktywnych. winksmiley.jpg
Aktywność zapisuje gdy wykona jakiś ruch. Czas w którym go wykonał zapisuje w bazie.

Dla gości będziesz musiał użyć ip jako sposób identyfikacyjny. Nie jest to genialne rozwiązanie bo nie każdy ma stałe ip.
tomick33
dzięki, znacie może jeszcze inne rozwiązania ?
bim2
To które podał Kildyt jest najlepsze smile.gif Co do gości, radzę Ci sprawdzać im dokładnie wszystko, przeglądarkę, ip, wtedy jakotaką pewność będziesz miał smile.gif
bartg
Nie zgadzam się. Wystarczy zapisac ip gościa. Nawet jak ma zmienne to w przeciągu tych 100 s bedziesz miał neipoprawne(a to i tak żadko).

Polecam też Temat: ART__Sesja_uzytkownika_w_PHP_zagrozenia_i_ochrona dzięki temu także można fajnie kontrolowac smile.gif
bim2
Sesją kontrolujesz tak samo jak podał kildyt, więc nie jarze. tongue.gif

W ciągu 100 sec ~1,5min jak ktoś używa specjalnego proxy, który zmienia ip po przeładowaniu strony, jestes w stanie nabic minimum 15 userów dodatkowo. smile.gif
Axexis
To generujesz sobie $cos, zapisujesz w sesję i dodajesz argument przy sprawdzaniu.

  1. <?php
  2.  
  3. if(!isset($_SESSION['cos'])) $_SESSION['cos'] = md5(time());
  4. $cos = $_SESSION['cos'];
  5. $ip = $_SERVER['REMOTE_ADDR'];
  6.  
  7.  
  8. $query = mysql_query("SELECT * FROM sesje WHERE ip='$ip' OR cos='$cos'");
  9. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.