이 버그는 두 번째 이메일을 추가할 때 확인 링크가 항상 404를 반환하는 문제를 조사하던 중 발견되었습니다. 이후 이메일 템플릿에 여러 항목이 잘못되어 있음을 알게 되었는데, 유사한 본문이 포함된 중복된 제목들이 있었고, 이들은 대체되지 않은 오래된 내용인 것 같습니다.
이메일 확인 문제와 관련하여, 하나는 잘못된(오래된?) 링크를 사용하고 있고 다른 하나는 올바른 링크를 사용하는데, 왜 같은 이름의 템플릿이 2개나 있으며 잘못된 것을 삭제할 수 없는 것인가요? 이것이 Discourse의 버그인가요?
새 이메일 확인 템플릿 두 가지도 혼란스러웠습니다. 하지만 두 템플릿은 약간 다릅니다. 하나는 관리자가 사용자의 프로필에 새 이메일 주소를 추가할 때 전송되고, 다른 하나는 사용자가 직접 그렇게 할 때 전송됩니다. 마지막 줄이 다릅니다.
%{site_name}의 새 이메일 주소를 확인하려면 다음 링크를 클릭하십시오:
%{base_url}/u/confirm-new-email/%{email_token}
이 변경을 요청하지 않으셨다면 [사이트 관리자](%{base_url}/about)에게 문의하십시오.
%{site_name}의 새 이메일 주소를 확인하려면 다음 링크를 클릭하십시오:
%{base_url}/u/confirm-new-email/%{email_token}
이 이메일 변경은 사이트 관리자가 요청했습니다. 이 변경을 요청하지 않으셨다면 [사이트 관리자](%{base_url}/about)에게 문의하십시오.
하나를 삭제하면 전송되는 이메일 중 하나가 깨질 것이라고 생각합니다.
제 템플릿도 둘 다 동일한 링크를 사용합니다. 이전에 템플릿을 커스터마이징하셨기 때문에 차이가 나는 것일 수 있습니다.
링크의 일부가 템플릿으로 커스터마이징할 수 있는 이유가 궁금합니다. 제 이해에 따르면, 템플릿이 %{confirmation_link}만 사용한다면 템플릿이 커스터마이징되더라도 링크가 오래된 상태로 변하지 않을 것입니다.
정확히 말하면, 비슷한 내용을 가진 중복된 링크가 여러 개 있습니다. 제 스크린샷 예시(보이지 않을 수도 있음)에서 하나의 링크는 “confirm-new-email”(올바름)을 가리키고, 다른 하나는 “authorize-email”(깨지거나 존재하지 않는 링크)을 가리키고 있습니다.
때때로 우리의 이메일이 스팸으로 분류됩니다. 이 이메일을 중요 항목으로 표시하고 ‘주요(Principal)’ 섹션으로 드래그하여 전달을 더 안정적으로 만드세요. 이렇게 하면 다른 사용자들도 통지를 올바르게 받을 수 있습니다. 언제든지 구독을 취소할 수 있음을 기억하세요.
하지만 앞서 설명했듯이 Discourse는 두 템플릿을 모두 사용합니다. 그중 하나를 삭제하더라도 다른 하나는 전송되지 않습니다. 현재 상황에 맞게 생성된 템플릿이 계속 사용되기 때문입니다. 즉, 사용자가 자신의 이메일을 변경할 경우를 위해 해당 템플릿이 사용되고, 관리자가 사용자의 이메일을 변경할 경우를 위해 다른 템플릿이 사용됩니다. 상황이 다르므로 텍스트도 다르며, 따라서 템플릿도 다릅니다.
또한 '계정 무음(account silenced)'과 '계정 정지(account suspended)'의 2개 템플릿의 경우에도 두 템플릿 모두 필요하며, 그중 하나를 삭제하는 것은 좋은 주자가 아닙니다. 두 템플릿은 사용 사례가 약간 다릅니다. 하나는 사용자가 제한된 기간 동안 무음 처리되거나 정지될 때 전송됩니다. 그래서 날짜가 포함되어 있습니다. 다른 템플릿은 사용자를 영구적으로 무음 처리/정지하도록 선택할 때 사용됩니다. 이 경우, 이메일에서 사용자에게 "3025년까지 정지됩니다"라고 알려주지 않습니다. 그렇게 하면 어리석어 보일 것이기 때문입니다. 그래서 계정이 무음 처리/정지된 기간을 나타내는 플레이스홀더가 없는 두 번째 템플릿이 있습니다.
그렇다면 이 스팸봇들은 어디서 온 걸까요? 그중 하나를 살펴보니 2020년에 생성된 것으로 보입니다. 네…
질문: 게시물이 플래그 처리될 때(플래그 목록에 많은 키워드를 추가했습니다), 스팸성 계정에 대한 올바른 조치는 무엇인가요? (모든 게시물 삭제, 계정 삭제, 흔적 삭제 등).
한편, 해당 사용자가 11개의 게시물을 작성한 것을 볼 수 있는데, 프로필에서는 ‘모든 게시물 삭제’ 옵션은 보이지만 ‘보기’ 옵션은 없습니다(매우 필요한 링크인데). 사용자가 작성한 게시물을 어떻게 볼 수 있을까요? 실제로 정당한 사용자처럼 보입니다 (2020년의 첫 게시물로 보아, 이 사용자의 계정이 Discourse에서 해킹된 건가요?)
다시 본론으로 돌아가면, 확인 링크와 이 스팸 활동 간의 관계가 무엇일지 여전히 혼란스럽지만, 방금 32분 전에 무의미한 문자열을 스팸하기 위해 시도한 새로운 사용자가 생성된 것을 확인했습니다: