예약된 사용자 이름에 'anonymous*'를 추가하면 익명 모드에서 'AnonymousXX' 이름 구조 생성이 차단됩니다

How to anonymise a single post?에 대한 토론을 이어서 진행합니다:

방금 이 방법을 시도해 보았는데, 해당 사용자를 위해 생성된 익명 사용자는 cb426…으로 시작하는 20자리의 무작위 알파벳과 숫자 조합이었습니다. "anonymous99"나 “anonymous100” 형식일 것이라고 예상했거든요.

이것은 버그인가요, 아니면 제가 잘못된 방법으로 진행한 건가요?

2개의 좋아요

방금 테스트 사용자로 위장한 후 익명 모드로 전환했는데, 생성된 이름이 anonymousNN 형식이었습니다.

여러 계정으로 이 현상을 재현해 볼 수 있을까요?

1개의 좋아요

네, 제가 시도해 본 다른 사용자(다만 랜덤한 사용자 이름은 다름)에게도 동일한 증상이 나타났습니다.

현재 2.9.0.beta10 (0c38757250) 버전을 사용 중입니다.

2개의 좋아요

TL1+에서 익명 모드가 활성화되어 있는지, 그리고 TL0 사용자를 사칭하거나 익명 처리하려고 했던 건 아닌지 궁금합니다. 나중에 확인해 보겠습니다.

1개의 좋아요

allow anonymous posting이 설정되어 있는지, anonymous posting min trust level이 0인지 확인하고, 완전히 새로운 사용자를 생성한 뒤 해당 사용자로 로그인했습니다(임의의 다른 사용자를 대신하는 impersonation이 아닌 경우). 그다음 익명 모드로 전환했는데, 생성된 사용자 이름은 다음과 같았습니다.

30d844ebb6818fcb7eab

즉, 단순히 impersonation을 할 때만의 문제가 아니라, 익명화 자체와 관련된 문제인 것 같습니다. 이 주제의 제목을 Anonymous user created when impersonating user doesn’t begin with “anonymous”에서 더 정확한 내용으로 변경하겠습니다.

P.S. 여전히 2.9.0.beta10 (0c38757250) 버전입니다.

익명 사용자가 많이 있나요?

당시에 수정되었을 것으로 생각되지만, 회귀(regression)가 발생했을 수도 있습니다?

1개의 좋아요

그리고 지난 2주 동안 20자리 랜덤 문자열의 사용자 네 명을 포함해 총 12명 남짓이었습니다.

이 이름이 배정된 사용자는 다음 익명 이름이 "anonymous20"이 될 예정이었을 때(실제 번호는 기억나지 않습니다) 실제 사용자 이름 "Anonymous20"을 만든 상태였습니다.

(그 후 저는 그 사용자의 이름을 변경하고, 사용자 이름에 사용할 수 없는 단어 목록에 "anonymous"를 추가했습니다.)

이것이 관련이 있을까요?

1개의 좋아요

유망해 보입니다. 테스트 사이트에서 확인해 보겠습니다. :+1:

1개의 좋아요

고마워요. 확인해 보니 reserved usernames에 anonymous와 anonymous*를 추가했더라고요…

방금 그 두 가지를 제거했는데, 이제 다시 잘 작동합니다! 이 문제를 생각하게 해준 옛날 주제를 알려줘서 정말 감사합니다.

그래도 'anonymous’라는 단어가 포함된 계정을 만드는 것을 막으면서 익명 모드가 제대로 작동하도록 하는 것이 여전히 좋겠네요. 아마 이건 여전히 버그인 것 같습니다.

1개의 좋아요

문제를 일으키는 건 anonymous*입니다:

user_name_suggester는 이름을 배정하기 전에 예약된 이름을 확인하므로, 이 부분을 추가하면 문제가 발생할 것입니다. :+1:

1개의 좋아요

이를 명확히 해 주셔서 감사합니다.

Discourse가 예약된 사용자 이름(reserved usernames)은 확인하되, 익명 사용자를 생성할 때 "anonymous"라는 단어에 대한 금지 사항은 무시하는 것이 더 나을 수도 있습니다.

1개의 좋아요

Discourse의 익명 모드에 의해 생성된 경우를 제외하고, 사용자 이름에서 "Anonymous"라는 단어가 사용되는 것을 방지하고 싶습니다.

이전에는 위에서 언급한 문제(즉, 사용자가 "Anonymous"를 사용하는 것을 방지하면 Discourse의 익명 모드도 이를 사용할 수 없게 되는 문제) 때문에 이것이 불가능했습니다.

그 이후로 상황이 변경되었나요?