it-swarm-tr.com

UID verilen kullanıcının IP adresini öğrenmek ister misiniz?

Drupal Rus çok oyunculu kart oyunu olan 7 web sitesi çalıştırıyorum ve her 4-5 günde bir çok can sıkıcı oyuncuları engellemek zorundayım.

Önce Drupal phpBB 3 kullanıyordum. Bu kişiler küçük bir şehirden/köyden geldiklerinde, IP ağlarını güvenlik duvarı kurallarına eklerdim, böylece yeni bir posta adresiyle kayıt ol Bu benim durumumda iyi çalıştı ve sorum bu politika ile ilgili değil.

Benim sorunum Drupal ile, bir kullanıcı kimliği tarafından kullanılan son IP adresini bulamıyorum olmasıdır. Yani kötüye kullanım bana diğer kullanıcılar tarafından bildirilir ve ben onun uid biliyorum, ama günlüklerde IP adresini bulamıyorum, çünkü:

  1. Sistem günlüğü kaydını etkinleştirdim ve Drupal/var/log/messagess içindeki iletileri görüyorum ancak oturumlar varsayılan olarak uzun olduğu için kullanıcı girişiyle ilgili nadiren bir mesaj var ve ben kullanıcı konforu için bu şekilde tutmak istiyorum.

  2. Ayrıca "veritabanı günlüğünü" etkinleştirdim, ancak nerede (hangi veritabanı tablosu) görmek için bilmiyorum.

8
Alexander Farber

İstatistik modülünü etkinleştirdiyseniz, "accesslog" tablosu tüm ziyaretçilerinizin IP'lerini içerir.

SELECT hostname FROM accesslog WHERE uid = %UID_FOR_YOUR_USER% LIMIT 1

İstatistikleri etkinleştirmediyseniz, bu sonuç için bile bırakmanızı öneririm, çünkü etkinleştirmek ciddi bir performans cezasına neden olur.

Bu durumda, sessions tablosunu kullanabilirsiniz:

SELECT hostname FROM sessions WHERE uid = %UID_FOR_YOUR_USER% LIMIT 1

Birincisinin ikincisinin faydası, birincisinin her zaman en son ana bilgisayar adını göstermesidir, oysa ikincisi her zaman güncel olmayabilir.

9
berkes

Bildiğim kadarıyla Drupal, kullanıcı profillerinde kullanıcıların kullandığı IP'yi rapor etmiyor. Özel bir modül oluşturabilir, kullanıcının kullandığı IP'yi doğrulayabilir ve cihazınıza kaydedebilirsiniz. kendi veritabanı tablosu; daha sonra kullanıcı profilinde, doğru izne sahip kullanıcılara (örneğin, kullanıcıları yönetme iznine sahip kullanıcılara) gösterebilirsiniz.

İhtiyacınız olan işlev ip_adresi () , hook_user_login () uygulamasında kullanabilirsiniz. hook_user_view () uygulayarak, bu bilgileri kullanıcılara doğru izinle gösterebilirsiniz.

5
kiamlaluno

Veritabanı günlüğü modülünü kullanıyorsanız, Drupal bu bilgileri bekçi tablosunda, hostname sütununun altında saklar. Bu bilgilere ulaşmak için özel sorgular yazabilirsiniz veya Views Watchdog modülünü (şu anda yalnızca 7.x için bir geliştirici sürümü kullanıyorum, bu yüzden bu tabloyu ortaya çıkarmak için Drupal 7) içinde ne kadar iyi çalıştığından emin değilim Görünümler.

3
jhedstrom

Son iki modül bu konuda yardımcı olabilir:

Kullanıcı IP Günlüğü , Views entegrasyonu olan ve IP Address Manager , Views entegrasyonu olmayan ancak Manifest, Trollerinizi Mağara ve Misery ile entegre olması amaçlanan-- tüm yasaklayan modüller.

1
Patrick Kenny