it-swarm-ko.tech

UID가 주어진 사용자의 IP 주소를 찾으십니까?

나는 러시아 멀티 플레이어 카드 게임으로 Drupal 7 웹 사이트를 실행 중이며 4-5 일마다 매우 성가신 플레이어를 차단해야합니다.

Drupal 전에 나는 phpBB 3을 사용하고있었습니다. 새 메일 주소로 등록하십시오. 제 경우에는 잘 작동했으며 제 질문은이 정책에 관한 것이 아닙니다.

내 문제는 Drupal에서 사용자 ID가 사용한 마지막 IP 주소를 찾을 수 없다는 것입니다. 즉 가해자는 다른 사용자에 의해 저에게보고되었으며 본인의 uid를 알고 있지만 다음과 같은 이유로 로그에서 IP 주소를 찾을 수 없습니다.

  1. Syslog-logging을 활성화하고/var/log/messagess에 Drupal 메시지가 표시되지만 세션이 기본적으로 길기 때문에 사용자 로그인에 대한 메시지는 거의 없으며 사용자 편의를 위해이 방법을 유지하고 싶습니다.

  2. 또한 "데이터베이스 로깅"을 활성화했지만 볼 위치 (데이터베이스 테이블)를 모릅니다.

8
Alexander Farber

통계 모듈이 활성화되어 있으면 "accesslog"테이블에 모든 방문자의 IP가 포함됩니다.

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

통계를 사용하지 않으면이 결과에 대해서도 통계를 사용하지 않는 것이 좋습니다. 사용하도록 설정하면 성능이 저하 될 수 있습니다.

이 경우 sessions 테이블을 사용할 수 있습니다.

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

후자의 첫 번째 장점은 첫 번째의 호스트 이름이 항상 최신 호스트 이름을 표시하지만 후자가 항상 최신 상태가 아닐 수 있다는 것입니다.

9
berkes

내가 아는 한 Drupal는 사용자 프로필에서 사용자가 사용한 IP를보고하지 않습니다. 사용자 정의 모듈을 생성하고 사용자가 사용한 IP를 확인한 후 사용자의 IP에 기록 할 수 있습니다 자신의 데이터베이스 테이블을 통해 사용자 프로필에 올바른 권한이있는 사용자 (예 : 사용자 관리 권한이있는 사용자)에게이를 표시 할 수 있습니다.

필요한 함수는 ip_address () 이며, hook_user_login () 구현에 사용할 수 있습니다. hook_user_view () 를 구현하면 올바른 권한으로 이러한 정보를 사용자에게 표시 할 수 있습니다.

5
kiamlaluno

데이터베이스 로깅 모듈을 사용하는 경우 Drupal이 정보를 워치 독 테이블의 hostname 열 아래에 저장합니다.이 정보를 얻기 위해 사용자 지정 쿼리를 작성하거나 Views Watchdog module (현재 7.x의 dev 릴리스 만 사용하므로 Drupal 7)에서 그 테이블이 얼마나 잘 작동하는지 잘 모르겠습니다. 조회수.

3
jhedstrom

최근 두 가지 모듈이 도움이 될 수 있습니다.

사용자 IP 로그 ,보기 통합, IP 주소 관리자 ,보기 통합은 없지만 매니페스트, 동굴 트롤 및 불행과 통합하기위한- 모든 금지 관련 모듈.

1
Patrick Kenny