Estou executando o site do Drupal 7 com um jogo de cartas multiplayer russo e tenho que bloquear alguns jogadores muito irritantes a cada 4-5 dias.
Antes do Drupal, eu estava usando o phpBB 3. Quando essas pessoas vinham de uma cidade / vila pequena, eu apenas adicionava sua rede IP às regras do firewall, para que não pudessem se registrar novamente com um novo endereço de email. Isso funcionou bem no meu caso e minha pergunta não é sobre essa política.
Meu problema é que, com o Drupal, não consigo encontrar o último endereço IP usado por uma identificação de usuário. Ou seja, o agressor é denunciado a mim por outros usuários e conheço o seu uid, mas não consigo encontrar o endereço IP dele nos logs, porque:
Eu ativei o syslog-logging e vi as mensagens do Drupal em / var / log / messagess, mas raramente há uma mensagem sobre o login de um usuário, provavelmente porque as sessões são longas por padrão e eu gostaria de mantê-lo desta maneira. conforto do usuário.
Também habilitei o "log do banco de dados", mas não sei onde vê-lo (qual tabela do banco de dados).
Até onde eu sei, o Drupal não reporta o IP usado pelos usuários em seu perfil de usuário. Você pode criar um módulo personalizado, verificar o IP usado pelo usuário e registrá-lo em sua própria tabela de banco de dados; você pode mostrá-lo no perfil do usuário, para usuários com a permissão correta (por exemplo, para usuários com permissão para administrar usuários).
A função que você precisa é ip_address () , que você pode usar na sua implementação de hook_user_login () . Ao implementar hook_user_view () , você pode mostrar essas informações aos usuários com a permissão correta.
fonte
Se você estiver usando o módulo de registro em banco de dados, o Drupal armazenará essas informações na tabela de vigilância, sob a
hostname
coluna. Você pode escrever consultas personalizadas para obter essas informações ou usar o módulo Views Watchdog (atualmente apenas uma versão de desenvolvimento para 7.x, portanto, não tenho certeza de como ele funciona no Drupal 7) para expor essa tabela às Views.fonte
Dois módulos recentes podem ajudar com isso:
Usuário IP Log , que possui integração com Views, e IP Address Manager , que não possui integração com Views, mas que se destina a integrar-se ao Manifest, Cave Your Trolls e Misery-- todos os módulos relacionados à proibição.
fonte
session_id () fornece a você o ID da sessão do usuário atual, seja ele convidado ou membro.
fonte