Das Modul "Benutzergeräte" dient dazu, die Geräte eines angemeldeten Benutzers zu überwachen und zu verwalten. Es erfasst verschiedene Gerätedaten, speichert diese in einer benutzergruppenspezifischen Datenbanktabelle und stellt sie in einer übersichtlichen Benutzeroberfläche dar. Nachfolgend erklären wir die Funktionsweise dieses Moduls im Detail.
1. Initialisierung und Benutzerprüfung
Beim Aufruf wird geprüft, ob der Benutzer angemeldet ist. Falls nicht, gibt das Modul eine entsprechende Meldung aus. Andernfalls wird überprüft, zu welcher Benutzergruppe der User gehört. Diese Information wird genutzt, um eine benutzergruppenspezifische Datenbanktabelle anzulegen.
2. Prüfung der Datenbanktabelle
Falls die Datenbanktabelle für die Benutzergruppe nicht existiert, wird sie mit folgenden Spalten erstellt:
-
Benutzer-ID
-
IP-Adresse
-
Letzte Anmeldung
-
Anzahl der Anmeldungen
-
Standort
-
Browser
-
Betriebssystem
-
Gerätetyp
-
Gerätename
-
Fingerprint (eine eindeutige Kennung für das Gerät)
3. Erfassung von Gerätedaten
Das Modul erfasst verschiedene Gerätedaten, um die Geräte eines Benutzers eindeutig zu identifizieren. Dabei werden folgende Informationen ermittelt:
-
IP-Adresse: Wird aus der Server-Umgebung ausgelesen.
-
Standort: Wird über eine externe API bestimmt.
-
Browser und Betriebssystem: Durch Analyse des User-Agent-Strings.
-
Gerätetyp: Es wird festgestellt, ob es sich um einen Desktop, ein Mobilgerät oder ein Tablet handelt.
-
Fingerprint: Eine eindeutige Kennung für das Gerät, die aus mehreren Faktoren generiert wird.
4. Speicherung und Aktualisierung der Daten
Falls das Gerät bereits in der Datenbank vorhanden ist, werden die Anmeldedaten aktualisiert. Andernfalls wird ein neuer Eintrag erzeugt. So kann nachvollzogen werden, mit welchen Geräten sich ein Benutzer einloggt und wie oft diese genutzt werden.
5. Verwaltung der Geräte
Der Benutzer kann seine registrierten Geräte über eine ansprechende Benutzeroberfläche einsehen. Die Geräte werden als Karten dargestellt, die folgende Informationen enthalten:
-
Letzte Anmeldung
-
Standort
-
Browser
-
Betriebssystem
-
Anzahl der Logins
Zusätzlich gibt es eine Möglichkeit, das Gerät umzubenennen, sofern der Benutzer die Berechtigung dazu hat.
6. Sicherheitsaspekte
Das Modul enthält verschiedene Sicherheitsmechanismen:
-
Berechtigungsprüfung: Nur berechtigte Benutzer können die Geräte verwalten.
-
Token-Prüfung: Schutz vor Cross-Site Request Forgery (CSRF) bei Formularen.
-
Rate-Limiting: Verhindert zu schnelle aufeinanderfolgende Anfragen.
-
Logging: Unbefugte Zugriffsversuche werden protokolliert.
Fazit
Dieses Modul bietet eine umfassende Möglichkeit, Benutzergeräte zu verwalten und Sicherheitsrisiken durch ungewöhnliche Logins zu minimieren. Es ermöglicht eine Überwachung der Geräteaktivität und verbessert die Benutzererfahrung durch eine intuitive Verwaltungsschnittstelle.