전체 IP 액세스 로그

사용자가 포럼에 로그인할 때 사용한 모든 IP 주소를 알려줄 로그가 있을까요? 사용자 관리 패널에서는 마지막 IP와 가입 IP를 확인할 수 있습니다. 사용자가 사이트를 접근한 모든 IP 주소 목록을 확인할 수 있는 방법이 있을까요?

data explorer 플러그인과 이 쿼리를 사용하면 됩니다.

SELECT id, username, ip_address, registration_ip_address FROM users

이 쿼리는 모든 사용자의 id, 사용자 이름, 마지막 IP, 가입 IP를 선택합니다.

마지막 IP 주소만 기록됩니다.

모든 IP 주소는 nginx 로그에 있지만, 사용자를 파악하는 것은 어려울 것입니다.

어떤 문제를 해결하려고 하시나요?

최근 새로운 스팸 탐지 계정 때문에 좀 정신없습니다. 이들은 아시아 지역의 다양한 동적 IP에서 유입되고 있습니다. 새로운 의심스러운 계정이 나타날 때, 때때로 현재 IP가 이전에 사용된 IP와 동일한 것을 확인한 적이 있습니다(마지막 IP를 기준으로). 하지만 다음에 접속할 때는 이전에 사용된 적 없는 새로운 IP를 사용할 수도 있습니다. 단순히 우리가 확인하는 시점에 따라 달라집니다.

다음 접속 시에는 아직 확인된 적 없는 다른 IP를 사용할 수 있습니다. 하지만 이전 접속 시 사용했던 IP(가입 IP 이후, 마지막 IP 이전)가 이미 알려진 악성 IP 중 하나와 일치한다면, 차단할 때 더 확신을 가질 수 있을 것입니다.

IP 범위 차단을 고려해 보았지만, 실수로 합법적인 사용자를 차단하지 않도록 주의해야 합니다.

제가 생각한 최고의 아이디어였습니다.

모든 IP 주소를 추적하는 플러그인을 작성하지 않는 한, 계정 삭제와 해당 IP 주소를 가능한 한 빨리 차단하는 것이 최선이라고 생각합니다. IP 추적에 대한 우려가 크기 때문에 Discourse는 첫 번째와 마지막 IP 주소만 저장합니다.

하지만 어차피 하나씩 차단할 수 있는 것보다 훨씬 더 많은 IP 주소를 가지고 있을 가능성이 큽니다. TL0 설정을 변경하여 TL0이 할 수 있는 일을 줄이고 TL1이 되는 것을 더 어렵게 만드는 것이 좋을 수도 있습니다.