사용자에게는 다소 번거로울 수 있지만, 저는 Discourse가 Firebase 클라우드 함수(무료)로 웹훅을 보내도록 설정해 두었습니다. 이 함수가 제 휴대폰으로 Slack 채팅방에 알림을 보내주므로, 깨어 있는 상태라면 보통 60초 이내에 휴대폰에서 승인 대기 중인 게시물을 승인할 수 있습니다.
힌트 주셔서 감사합니다. 하지만 https://ask.learncbse.in/ (제 인스턴스가 아니지만 제가 맞서 싸우고 있는 스팸 게시글들과 거의 유사합니다)을 확인해 보시고, 지난 며칠간의 게시글을 스크롤해 보세요. 그들은 각 키워드의 수많은 조합과 변형을 사용하고 있습니다. 저는 각 키워드에 대해 수많은 정규식(regex)을 만드는 작업을 진행 중인데, 그들은 어디에나 “.”, “,”, "|"를 추가하고, "0"을 "O"로, "e"를 "3"으로 대체하거나, 단어 중간에 (지금까지 확인된 바로는) 랜덤한 문자를 삽입하는 등 온갖 수법을 쓰고 있기 때문입니다. 이런 유형의 스팸에 맞서 싸우는 것은 정말로 어렵습니다.
혹시 랜덤한 링크를 클릭하고 싶지 않으시면, 지난 몇 시간 동안의 스크린샷을 첨부합니다. 하지만 이는 단지 지난 몇 시간 동안의 내용일 뿐이며, 시간대에 따라 스팸의 형태가 많이 변합니다:
그것도 생각해 봤지만, 저희는 프라이버시 및 보안 제품이라 사용자를 최대한 보호해야 합니다. 콘텐츠는 공개적이지만, 제가 https://meta.discourse.org/t/discourse-akismet/109337을 올바르게 이해했다면 IP 주소/에이전트/리퍼러/이메일은 공개되지 않습니다. 이 정보는 Akismet로 전송되므로(사실상 개인정보 처리방침을 읽어볼 수도 있지만, 이미 개요만으로도 결정에 충분한 정보입니다).
좋은 아이디어네요. 하루에 약 2명의 가입자만 있으니 큰 부담은 되지 않을 것 같지만, 승인을 기다리는 것은 최고의 경험은 아닙니다. 하지만 잘 설명해 준다면 현재로서는 최선의 선택일 수 있습니다.
여기서 문제는 이 봇이 Discourse가 어떻게 작동하는지를 어떻게 알고 있다는 점입니다. 다음 시나리오를 보겠습니다. ‘승인 필요’ 섹션에서 ❽를 감시하고 있습니다. 문제는 이러한 봇들이 먼저 랜덤한 텍스트를 생성한 다음 실제 내용으로 수정한다는 것입니다. 게시글 수정은 ‘승인 필요’ 목록과 대조되어 검사되지 않습니다. 예를 들어
즉, 유일한 선택지는 이를 차단 섹션에 추가하는 것입니다. 하지만 너무 많은 단어와 문자를 차단하면 정상적인 사용자가 유효한 게시글을 작성할 때 혼란스러운 메시지를 받게 되는 문제가 쉽게 발생할 수 있습니다. 대부분의 문제가 여기서 비롯된다고 생각합니다. 제 생각에는 이것이 버그이며, 게시글을 수정할 때도 변경 사항이 게시될 때 수정된 내용이 ‘승인 필요’ 목록과 대조되어 검사되어야 합니다.