네, 저도 같은 문제를 겪었는데요, TL0 사용자의 게시물을 수동으로 승인하도록 변경한 이후로 해결되었습니다.
저는 가입하는 사용자가 자신의 운영체제를 선택할 수 있는 사용자 정의 필드를 운영하고 있습니다(저희 커뮤니티는 특정 앱에 관한 것입니다). 그런데 이 봇 계정들은 해당 필드에 무작위 데이터가 입력되어 있었습니다.
저는 사용자 정의 Data Explorer 쿼리를 사용하여 유효하지 않은 운영체제 값, 즉 사용자 정의 사용자 필드의 사전 정의된 옵션 목록에 포함되지 않은 값을 가진 모든 사용자를 나열했습니다.
SELECT
u.id,
u.username,
ucf.value AS user_field_1
FROM
users AS u
LEFT JOIN user_custom_fields AS ucf ON u.id = ucf.user_id
AND ucf.name = 'user_field_1'
WHERE
ucf.value IS NOT NULL
AND ucf.value NOT IN (
SELECT
ufo.value
FROM
user_field_options AS ufo
WHERE
ufo.user_field_id = 1
)
아니! 정당한 우려라고 생각합니다. 세계의 많은 지역에는 IP 주소가 풍부하지 않으며, 과거보다 IP가 풀(pool) 형태로 공유되는 경우가 훨씬 흔해졌습니다.
음, 그것이 많은 사람들을 소외시키지 않는다는 보장은 아니라고 생각합니다.
스패머의 IP 주소를 차단하는 아이디어는 미국에서, 그리고 개별적인 악성 행위자들과 케이블 인터넷을 통한 가정용 접속이 일반적이던 시대에 나온 전술이라고 봅니다. 지금은 매우 부적절하다고 생각합니다.
잘 관리되는 스톱리스트에 IP 주소를 대조하거나, 해당 주소의 ASN을 클라우드 제공업체와 같은 가능성이 낮은 소스들의 스톱리스트와 대조하는 것은 도움이 될 수 있습니다. 하지만 VPN을 사용하여 가입하는 사람들을 허용하고 싶다면, 그 근거만으로 차단하는 것은 여전히 좋지 않습니다.
네, VPN에는 문제가 될 수 있지만, VPN도 남용의 주요 원인이기도 합니다… 그래서 VPN에 대해 아무 조치도 취하지 않는 것에는 상당한 부담이 따릅니다. 이상적으로는 IP 평판 시스템 같은 것이 있어서, 전부 또는 전무가 아닌 중간 단계의 대응이 가능했으면 좋겠습니다.
Discourse의 공식 hCaptcha 플러그인은 여기서 큰 도움이 될 수 있습니다. 이 플러그인은 특히 봇 가입을 완화하는 데 의도되어 있습니다.
(개인적으로 저는 Discourse의 Cloudflare Turnstile 지원도 보고 싶습니다. Turnstile의 무료 플랜에는 마찰 없는 비대화형(non-interactive) 모드가 포함되어 있는 반면, hCaptcha에서 유사한 기능을 사용하려면 월 99달러의 “pro” 요금제로 전환해야 하기 때문입니다. 이는 셀프호스터들에게는 정말 터무니없는 금액입니다.)
저도 동일한 문제를 겪고 있습니다. 자체 호스팅 인스턴스에서 발생하며, 숫자가 증가하고 있습니다. 처음에는 주당 1~2건의 Sporadic(불규칙한) 가입이 시작되었습니다. 이번 주에는 10건의 가입이 발생했고, 그중 5건은 어제였습니다.
패턴은 성별(Pronoun) 설정에 랜덤 문자열이 사용되고, 이전에 언급된 이름과 성의 패턴이 나타나는 것입니다.
저는 whois IP 쿼리를 수행했는데, 90% 이상이 미국의 2개 클라우드 제공업체에서 온 것이었습니다. 그래서 IP 대신 네트워크를 차단하기 시작했습니다. 클라우드 제공업체 네트워크를 차단할 때 일반 사용자를 차단할 위험은 매우 낮습니다. 대부분은 /24이며, 일부는 /23 또는 /22 네트워크였습니다.
종종 가입 이메일에 대해 반송(bounce) 메시지를 받는데, 이는 이메일 주소를 사용할 수 없기 때문입니다. 이 주소들에도 패턴이 있습니다. 공통 부분은 서브도메인으로, 도메인 부분이 a, b, c, e와 같은 단일 문자 서브도메인으로 시작되는 형태입니다(예: ...@a.example.com).
이것이 정규식 패턴만 허용하는 경우 차단된 이메일 도메인 설정으로 차단할 수 있는 좋은 속성이 될 수 있습니다. 간단한 @[a-z]\.* 패턴으로 이러한 시도를 막을 수 있습니다.