Я использую сайт Drupal 7 с русской многопользовательской карточной игрой, и мне приходится блокировать некоторых очень раздражающих игроков каждые 4-5 дней.
До Drupal я использовал phpBB 3. Когда эти люди приезжали из небольшого города / села, я просто добавлял их IP-сеть к правилам брандмауэра, чтобы они не могли заново зарегистрироваться с новым почтовым адресом. Это хорошо сработало в моем случае, и мой вопрос не об этой политике.
Моя проблема в том, что с Drupal я не могу найти последний IP-адрес, использованный идентификатором пользователя. Т.е. об этом мне сообщили другие пользователи, и я знаю его uid, но я не могу найти его IP-адрес в журналах, потому что:
Я включил ведение журнала syslog и вижу сообщения Drupal в / var / log / messagess, но редко появляется сообщение о входе пользователя в систему, возможно потому, что сеансы по умолчанию длинные, и я хотел бы сохранить его таким комфорт пользователя.
Я также включил «ведение журнала базы данных», но не знаю, где его увидеть (какая таблица базы данных).
Насколько я знаю, Drupal не сообщает IP-адрес, используемый пользователями в своем профиле. Вы можете создать собственный модуль, проверить IP-адрес, используемый пользователем, и записать его в свою таблицу базы данных; затем вы можете показать его в профиле пользователя пользователям, у которых есть соответствующие права (например, пользователям, имеющим разрешение на администрирование пользователей).
Вам нужна функция ip_address () , которую вы можете использовать в своей реализации hook_user_login () . Реализуя hook_user_view () , вы можете затем показать такую информацию пользователям с соответствующими правами.
источник
Если вы используете модуль ведения журнала базы данных, Drupal сохраняет эту информацию в таблице наблюдения под
hostname
столбцом. Вы можете либо написать пользовательские запросы для получения этой информации, либо использовать модуль Views Watchdog (в настоящее время это только версия dev для 7.x, поэтому я не уверен, насколько хорошо он работает в Drupal 7), чтобы открыть эту таблицу для Views.источник
Два последних модуля могут помочь с этим:
User IP Log , который имеет интеграцию Views, и IP Address Manager , который не имеет интеграции Views, но предназначен для интеграции с Manifest, Cave Your Trolls и Misery - все запрещающие связанные модули.
источник
session_id () дает вам текущий идентификатор сеанса пользователя, является ли он / она гостем или участником.
источник