Estoy ejecutando el sitio web de Drupal 7 con un juego de cartas multijugador ruso y tengo que bloquear a algunos jugadores muy molestos cada 4-5 días.
Antes de Drupal estaba usando phpBB 3. Cuando estas personas venían de una pequeña ciudad / pueblo, simplemente agregaba su red IP a las reglas del firewall, para que no puedan volver a registrarse con una nueva dirección de correo. Esto funcionó bien en mi caso y mi pregunta no es sobre esta política.
Mi problema es que con Drupal, no puedo encontrar la última dirección IP utilizada por una identificación de usuario. Es decir, otros usuarios me informan del abuso y conozco su UID, pero no puedo encontrar su dirección IP en los registros, porque:
He habilitado el registro de syslog y veo los mensajes de Drupal en / var / log / messagess, pero rara vez hay un mensaje sobre el inicio de sesión de un usuario, probablemente porque las sesiones son largas de forma predeterminada, y me gustaría mantenerlo así durante comodidad del usuario.
También he habilitado el "registro de base de datos", pero no sé dónde verlo (qué tabla de base de datos).
Hasta donde yo sé, Drupal no informa la IP utilizada por los usuarios en su perfil de usuario. Puede crear un módulo personalizado, verificar la IP utilizada por el usuario y registrarla en su propia tabla de base de datos; entonces puede mostrarlo en el perfil de usuario, a los usuarios que tienen el permiso correcto (por ejemplo, a los usuarios con el permiso para administrar usuarios).
La función que necesita es ip_address () , que puede usar en su implementación de hook_user_login () . Al implementar hook_user_view () , puede mostrar dicha información a los usuarios con el permiso correcto.
fuente
Si está utilizando el módulo de registro de la base de datos, Drupal almacena esta información en la tabla de vigilancia, debajo de la
hostname
columna. Puede escribir consultas personalizadas para obtener esta información o usar el módulo Views Watchdog (actualmente solo una versión de desarrollo para 7.x, por lo que no estoy seguro de qué tan bien funciona en Drupal 7) para exponer esa tabla a Views.fuente
Dos módulos recientes pueden ayudar con esto:
User IP Log , que tiene integración de Vistas, y IP Address Manager , que no tiene integración de Vistas pero está destinado a integrarse con Manifest, Cave Your Trolls y Misery, todos los módulos relacionados con la prohibición.
fuente
session_id () le proporciona la identificación de sesión de usuario actual si él / ella es un invitado o un miembro.
fuente