Ich betreibe die Drupal 7-Website mit einem russischen Multiplayer-Kartenspiel und muss alle 4-5 Tage einige sehr nervige Spieler blockieren.
Vor Drupal habe ich phpBB 3 verwendet. Wenn diese Personen aus einer kleinen Stadt / einem kleinen Dorf kamen, fügte ich einfach ihr IP-Netzwerk zu den Firewall-Regeln hinzu, damit sie sich nicht erneut mit einer neuen E-Mail-Adresse registrieren können. Dies hat in meinem Fall gut funktioniert und meine Frage bezieht sich nicht auf diese Richtlinie.
Mein Problem ist, dass ich mit Drupal die letzte von einer Benutzer-ID verwendete IP-Adresse nicht finden kann. Dh der Missbraucher wird mir von anderen Benutzern gemeldet und ich kenne seine UID, aber ich kann seine IP-Adresse nicht in den Protokollen finden, weil:
Ich habe die Syslog-Protokollierung aktiviert und sehe die Drupal-Nachrichten in / var / log / messagess, aber es gibt selten eine Nachricht über die Anmeldung eines Benutzers, wahrscheinlich weil die Sitzungen standardmäßig lang sind, und ich möchte dies so halten Benutzerkomfort.
Ich habe auch "Datenbankprotokollierung" aktiviert, weiß aber nicht, wo ich sie sehen soll (welche Datenbanktabelle).
Soweit ich weiß, meldet Drupal die von Benutzern in ihrem Benutzerprofil verwendete IP nicht. Sie können ein benutzerdefiniertes Modul erstellen, die vom Benutzer verwendete IP-Adresse überprüfen und in Ihrer eigenen Datenbanktabelle aufzeichnen. Dann können Sie es im Benutzerprofil Benutzern anzeigen, die über die richtige Berechtigung verfügen (z. B. Benutzern mit der Berechtigung zum Verwalten von Benutzern).
Die Funktion, die Sie benötigen, ist ip_address () , die Sie in Ihrer Implementierung von hook_user_login () verwenden können . Die Umsetzung hook_user_view () können Sie dann zeigen diese Informationen an die Benutzer mit der richtigen Berechtigung.
quelle
Wenn Sie das Datenbankprotokollierungsmodul verwenden, speichert Drupal diese Informationen in der Watchdog-Tabelle unter der
hostname
Spalte. Sie können entweder benutzerdefinierte Abfragen schreiben, um an diese Informationen zu gelangen, oder das Views Watchdog-Modul (derzeit nur eine Entwicklungsversion für 7.x, daher bin ich mir nicht sicher, wie gut es in Drupal 7 funktioniert) verwenden, um diese Tabelle für Views verfügbar zu machen.quelle
Zwei aktuelle Module können dabei helfen:
Benutzer-IP-Protokoll mit Views-Integration und IP-Adress-Manager ohne Views-Integration, der jedoch in Manifest, Cave Your Trolls und Misery integriert werden soll - alles verbietet verwandte Module.
quelle
session_id () gibt Ihnen die aktuelle Sitzungs-ID des Benutzers an, unabhängig davon, ob er Gast oder Mitglied ist.
quelle