Saya menjalankan situs web Drupal 7 dengan permainan kartu multipemain Rusia dan harus memblokir beberapa pemain yang sangat menyebalkan setiap 4-5 hari.
Sebelum Drupal saya menggunakan phpBB 3. Ketika orang-orang ini datang dari kota / desa kecil, saya hanya akan menambahkan jaringan IP mereka ke aturan firewall, sehingga mereka tidak dapat mendaftar ulang dengan alamat email baru. Ini bekerja dengan baik dalam kasus saya dan pertanyaan saya bukan tentang kebijakan ini.
Masalah saya adalah bahwa dengan Drupal, saya tidak dapat menemukan alamat IP terakhir yang digunakan oleh id pengguna. Yaitu pelaku dilaporkan kepada saya oleh pengguna lain dan saya tahu uid-nya, tetapi saya tidak dapat menemukan alamat IP-nya di log, karena:
Saya telah mengaktifkan syslog-logging dan melihat pesan Drupal di / var / log / messagess tetapi jarang ada pesan tentang pengguna yang masuk, mungkin karena sesi lama secara default, dan saya ingin tetap seperti ini untuk kenyamanan pengguna.
Saya juga telah mengaktifkan "pencatatan basis data," tetapi tidak tahu di mana melihatnya (tabel database mana).
Sejauh yang saya tahu, Drupal tidak melaporkan IP yang digunakan oleh pengguna di profil pengguna mereka. Anda bisa membuat modul khusus, memverifikasi IP yang digunakan oleh pengguna, dan merekamnya di tabel database Anda sendiri; maka Anda dapat menampilkannya di profil pengguna, kepada pengguna yang memiliki izin yang tepat (misalnya, kepada pengguna dengan izin untuk mengelola pengguna).
Fungsi yang Anda butuhkan adalah ip_address () , yang dapat Anda gunakan dalam implementasi hook_user_login () Anda . Menerapkan hook_user_view () , Anda kemudian dapat menampilkan informasi tersebut kepada pengguna dengan izin yang tepat.
sumber
Jika Anda menggunakan modul pencatatan basis data, Drupal menyimpan informasi ini di tabel watchdog, di bawah
hostname
kolom. Anda dapat menulis kueri khusus untuk mendapatkan informasi ini, atau menggunakan modul Views Watchdog (saat ini hanya rilis dev untuk 7.x, jadi saya tidak yakin seberapa baik kerjanya di Drupal 7) untuk memaparkan tabel itu ke Views.sumber
Dua modul terbaru dapat membantu dengan ini:
User IP Log , yang memiliki integrasi Views, dan IP Address Manager , yang tidak memiliki integrasi Views tetapi dimaksudkan untuk berintegrasi dengan Manifest, Cave Your Trolls, dan Misery - semuanya melarang modul terkait.
sumber
session_id () memberi Anda id sesi pengguna saat ini apakah dia tamu atau anggota.
sumber