# 비활성화/해제된 사용자도 공개 사용자 페이지에 여전히 표시됩니다

**URL:** https://meta.discourse.org/t/non-activated-deactivated-users-still-show-in-public-users-page/139077
**Category:** Bug
**Created:** [1월 19, 2020, 6:37오전 UTC](https://meta.discourse.org/t/non-activated-deactivated-users-still-show-in-public-users-page/139077 "2020-01-19T06:37:27Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [1월 19, 2020, 6:37오전 UTC](https://meta.discourse.org/t/non-activated-deactivated-users-still-show-in-public-users-page/139077/1 "2020-01-19T06:37:27Z")

</div>

비활성화된 사용자는 검색 결과에 표시되지 않으므로, 이는 버그인 것 같습니다.

기본적으로 이 페이지([Discourse Meta](https://meta.discourse.org/u))로 이동하여 스크롤을 내려보면 비활성화된 사용자가 표시되지만, 해당 사용자를 직접 찾아보려 하면 표시되지 않습니다. (게시물에 @로 언급하는 것도 불가능합니다.)

비활성화되거나 활성화되지 않은 사용자를 모든 공개 영역에서 숨기는 것이 최선일까요? (그렇게 해야 한다고 생각합니다.)

_비활성화/미활성화 멤버란 이메일 인증을 완료하지 않은 사용자 또는 이메일 재인증이 필요한 사용자를 의미합니다._

---

<div class="post-metadata">

### Author: ![Remah](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/remah/32/70590_2.png) [@Remah](https://meta.discourse.org/u/Remah)
#### Post date: [1월 19, 2020, 8:22오전 UTC](https://meta.discourse.org/t/non-activated-deactivated-users-still-show-in-public-users-page/139077/2 "2020-01-19T08:22:32Z")

</div>

말씀하신 것은 _비활성_ 사용자를 의미하시나요:

- 비활성 상태이므로 멘션할 수 없습니다.
- 비활성 상태이므로 검색할 수 없습니다.

이것은 버그일 수 있지만, 버그라고 생각하지 않습니다:

- 비활성 사용자도 여전히 사용자 테이블에 존재합니다.
- 비활성 계정을 허용하는 사이트 설정이 있습니다 - 기본적으로 꺼져 있지만, 여기에서 활성화되어 있을 수 있습니다:  
`show inactive accounts`  
호스팅 고객 때문에 meta.discourse.org에서 비활성 고객 계정이 표시되는 것일까요?
- 필요할 경우 비활성 사용자를 삭제하는 설정이 있습니다 - 기본값은 2년입니다:  
`clean up inactive users after days`.

---

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [1월 19, 2020, 5:26오후 UTC](https://meta.discourse.org/t/non-activated-deactivated-users-still-show-in-public-users-page/139077/3 "2020-01-19T17:26:41Z")

</div>

> [@Remah](#):
>
> 비활성 계정 표시

끄기(Off)로 되어 있는데, 여전히 표시됩니다.

> [@Remah](#):
>
> 비활성 사용자도 사용자 테이블에는 여전히 존재합니다.

관리자 CP에서는 여전히 표시되지만, 공개적으로는 표시되지 않는다는 동작일 것 같습니다. 스팸이 URL이나 성인 콘텐츠 등을 이름이나 프로필 정보로 사용하여 이러한 계정을 가입시키는 경우가 많습니다.

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [1월 20, 2020, 10:05오후 UTC](https://meta.discourse.org/t/non-activated-deactivated-users-still-show-in-public-users-page/139077/4 "2020-01-20T22:05:48Z")

</div>

`비활성 계정 표시` 사이트 설정은 스태프가 아닌 사용자에게만 적용됩니다. 해당 설정이 비활성화되어 있는 경우(기본값은 비활성화입니다), 일반 사용자는 비활성화된 사용자의 유저카드나 프로필 페이지를 볼 수 없습니다. 그러나 스태프 사용자는 여전히 유저카드와 프로필 페이지를 볼 수 있습니다.

`비활성 계정 표시` 사이트 설정을 비활성화했는지 여부에 관계없이, 비활성화된 사용자는 공개 사용자 디렉터리에는 표시됩니다.

---

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [1월 20, 2020, 11:02오후 UTC](https://meta.discourse.org/t/non-activated-deactivated-users-still-show-in-public-users-page/139077/5 "2020-01-20T23:02:20Z")

</div>

> [@simon](#):
>
> 비활성화된 사용자는 `show inactive accounts`(비활성 계정 표시) 사이트 설정을 비활성화했든 아니든 공개 사용자 디렉터리에서 표시됩니다.

시몬, 이 것은 새로 가입한 미인증 멤버와 수동으로 비활성화된 멤버 모두에 해당하나요?

때때로 스팸 발송자/트롤/악의적 사용자가 URL을 사용자 이름으로 사용하거나 다른 프로필 세부 정보를 입력하여 계정을 등록합니다.

테마 컴포넌트나 다른 방법으로 공개 사용자 디렉터리에서 사용자를 숨기는 것이 충분히 쉬운 일인가요? (아직 학습 중이라 제가 확신하지 못하겠습니다.) CSS를 확인해 보았지만 비활성화된 멤버의 행에는 특별한 클래스가 적용되지 않았습니다… 이 부분을 추가할 수 있을까요?

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [1월 21, 2020, 12:17오전 UTC](https://meta.discourse.org/t/non-activated-deactivated-users-still-show-in-public-users-page/139077/6 "2020-01-21T00:17:21Z")

</div>

> [@simon](#):
>
> 비활성화된 사용자는 `show inactive accounts`(비활성 계정 표시) 사이트 설정을 비활성화했는지 여부와 관계없이 공개 사용자 디렉터리に表示됩니다.

이것은 정확하지 않습니다. 비활성화된 사용자는 즉시 사용자 디렉터리에서 제거되지 않지만, 사용자 디렉터리를 새로 고치는 작업이 실행될 때 제거되어야 합니다. 해당 작업은 하루에 한 번 실행됩니다.

디렉터리에서 사용자를 추가하고 제거하는 코드는 사용자가 `active`(활성) 상태인지 확인합니다. 이는 이전에 사이트에서 활동적이었던 비활성 사용자가 비활성화된 후 1일 이내에 사용자 디렉터리에서 제거되어야 함을 의미합니다. 예를 들어 가입 후 활성화 이메일에 응답하지 않은 사용자와 같이 사이트에서 활동적이었던 적이 없는 사용자는 사용자 디렉터리에 표시되어서는 안 됩니다.

`must approve users`(사용자 승인 필요) 사이트 설정을 활성화한 사이트의 경우, 승인되지 않은 사용자는 사용자 디렉터리에 추가되지 않습니다.

귀하의 사이트에서 이러한 내용과 다른 결과를 확인하고 있다면 알려 주세요.

---

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [1월 21, 2020, 12:56오전 UTC](https://meta.discourse.org/t/non-activated-deactivated-users-still-show-in-public-users-page/139077/7 "2020-01-21T00:56:16Z")

</div>

아, 감사합니다. 시몬, 이제 이해가 갑니다.

제 개발 환경에서는 작동하지 않는 것 같네요 (서버를 필요할 때만 실행하고 있어서) 하지만 방금 라이브 사이트에서 테스트를 만들어 보았으니, 어떻게 될지 지켜보고 다시 말씀드리겠습니다 😃

---

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [2월 3, 2020, 2:34오전 UTC](https://meta.discourse.org/t/non-activated-deactivated-users-still-show-in-public-users-page/139077/8 "2020-02-03T02:34:25Z")

</div>

> [@simon](#):
>
> 사이트에서 다른 결과가 나온다면 알려주세요.

잘 작동했습니다 😃 하루 정도 지나자 계정 목록에서 사라졌습니다.

수동으로 비활성화된 사용자와 관련하여 간단한 질문이 있습니다. 이들은 표준 비활성화 사용자와 동일한 규칙이 적용되나요? 구체적으로, 30일 이내에 계정을 재활성화하지 않으면 데이터베이스에서 삭제되나요? (새 계정의 이메일 확인을 위해 허용되는 표준 기간이 30일이라고 생각합니다.)

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [2월 3, 2020, 2:38오전 UTC](https://meta.discourse.org/t/non-activated-deactivated-users-still-show-in-public-users-page/139077/9 "2020-02-03T02:38:20Z")

</div>

좋은 질문이네요, @eviltrout 이 로직을 확인해 줄 수 있는 사람이 있을까요? \_새로운 가입자\_의 경우 이 말이 맞다는 것은 알고 있어요. 가입 절차의 일환으로 7일 이내에 이메일을 활성화하는 것도 귀찮아하는 사람에게 새로운 가입자가 중요할 리 없으니까요. 하지만 수동 비활성화의 경우에는 확실하지 않아요.

---

<div class="post-metadata">

### Author: ![eviltrout](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eviltrout/32/5275_2.png) [@eviltrout](https://meta.discourse.org/u/eviltrout)
#### Post date: [2월 3, 2020, 8:40오후 UTC](https://meta.discourse.org/t/non-activated-deactivated-users-still-show-in-public-users-page/139077/10 "2020-02-03T20:40:33Z")

</div>

논리를 확인해 본 결과, 다음 조건을 모두 충족하는 사용자는 `clean_up_inactive_users_after_days`일 이후 삭제됩니다:

- 게시글을 단 한 번도 작성하지 않은 경우
- TL0인 경우
- 스태프가 아닌 경우

따라서 질문에 대한 답으로, 수동으로 비활성화된 사용자는 삭제되지만, 게시글을 작성했거나 신뢰 수준을 획득한 경우에는 삭제되지 않습니다.

---

<div class="post-metadata">

### Author: ![Dawn](https://avatars.discourse-cdn.com/v4/letter/d/71e660/32.png) [@Dawn](https://meta.discourse.org/u/Dawn)
#### Post date: [7월 26, 2021, 3:12오후 UTC](https://meta.discourse.org/t/non-activated-deactivated-users-still-show-in-public-users-page/139077/14 "2021-07-26T15:12:13Z")

</div>

사용자를 비활성화하면 정확히 어떤 일이 일어나는 걸까요? 비활성화되었다는 사실을 사용자에게 알려주나요? 재활성화할 때까지 사용이 제한되나요? 사용자가 직접 계정을 재활성화해야 하나요?

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [7월 26, 2021, 8:37오후 UTC](https://meta.discourse.org/t/non-activated-deactivated-users-still-show-in-public-users-page/139077/15 "2021-07-26T20:37:30Z")

</div>

> [@Dawn](#):
>
> 사용자를 비활성화하면 정확히 어떤 일이 일어나나요?

Discourse가 보내는 활성화 이메일에 응답할 때까지 해당 사용자가 로그인하지 못하도록 방지합니다. 사용자가 로그인을 시도하면 다음과 유사한 알림이 표시됩니다:

 ![image](https://global.discourse-cdn.com/meta/original/3X/c/2/c272d2d44319cce5216f547e970cd036231fa89b.png)

사용자를 비활성화한다고 해서 활성화 이메일이 자동으로 전송되지는 않습니다. 관리 페이지의 ‘활성화(Activated)’ 섹션에 표시되는 “활성화 이메일 보내기” 버튼을 클릭하면 해당 사용자에게 활성화 이메일을 전송할 수 있습니다. 사용자가 사이트에 로그인하려고 할 때 표시되는 알림에서 “활성화 이메일 다시 보내기” 버튼을 클릭하면 사용자에게 활성화 이메일이 전송되도록 트리거할 수도 있습니다.
