이러한 필드에 민감한 데이터를 사용할 때는 주의가 필요합니다. 필드는 소스에서 찾을 수 없으나, 문제가 발생하면 노출될 수 있습니다. 또한 검색 도구에서 검색 결과가 표시될 수 있습니다.
derek_test(왼쪽)와 anon9(오른쪽)라는 두 명의 사용자가 있습니다. 두 사용자의 프로필에는 모두 ID 및 Company 필드가 입력되어 있지만, 서로에게 보이는 필드는 하나뿐입니다. derek_test는 ID를 볼 수 있고, anon9는 Company를 볼 수 있습니다.
로그인하지 않은 사용자는 무엇을 보게 되나요? 즉, 해당 필드가 관리자만 볼 수 있다면, 사용자가 로그아웃한 후에도 이 필드를 볼 수 없어야 한다고 기대하는 것이 맞나요?
그룹 설정에 텍스트 필드 대신 group_list를 선택한 이유가 있을까요? 그룹을 직접 입력하는 대신 선택할 수 있으므로 그룹을 입력하는 데 좀 더 편리합니다. 다만, ID를 기반으로 작동하므로 코드를 조금 수정해야 합니다. 하지만 그룹 이름을 변경해도 여전히 작동합니다.
최근 최신 GitHub 저장소 클론과 최신 빌드를 사용한 호스팅 솔루션에서 다시 테스트해 보았습니다. Admin 카테고리만 영향을 받으며, 해당 필드를 볼 수 있도록 권한이 부여된 그룹의 멤버인 경우에만 Hidden 필드를 확인할 수 있습니다. 이전에는 작동하지 않는다고 생각했던 Moderator 접근 권한도 포함됩니다.
해당 상황:
두 명의 사용자: admin과 Alex_1
사용자 그룹: L2_verified
사용자 필드 - Full Name (모든 사용자에게 적용, 모든 항목 On, 검색 가능 Off)
두 사용자의 이름: Alex Admin과 Alex
테마 설정:
다음 테마에 구성 요소 포함 (Foundation, Horizon)
필드 이름: Full Name
허용된 그룹: L2_verified
결과:
두 사용자 모두 L2_verified 멤버가 아님 - 누구도 Full Name 필드를 볼 수 없음 (자신의 Full Name도 포함)
admin이 L2_verified 멤버인 경우 - Alex_1의 Full Name(그리고 자신의 Full Name)을 볼 수 있음
Alex_1이 L2_verified 멤버인 경우 - 자신의 Full Name과 admin의 Full Name을 볼 수 없음
admin 권한을 Alex_1에게 부여한 경우 - 자신의 Full Name과 admin의 Full Name을 모두 볼 수 있음
훌륭한 컴포넌트를 공유해 주셔서 감사합니다! Discourse에서 사용자 프라이버시를 관리하는 데 훌륭한 기반이 될 것 같습니다.
저는 여러분의 작업을 기반으로 양방향(상호) 가시성에 특화된 포크를 개발했습니다. 저희 전문 커뮤니티에서는 인증된 회원끼리는 서로의 실명 및 비즈니스 데이터를 볼 수 있지만, 일반 대중이나 미인증 사용자에게는 완전히 익명으로 유지되는 “상호 신뢰(Mutual Trust)” 모델이 필요했기 때문입니다.
이 포크의 주요 기능:
상호 논리(Reciprocal Logic): 뷰어와 프로필 소유자 양쪽 모두 인가된 그룹에 속해 있을 때만 해당 필드가 공개됩니다.
관리자 감독: 안전 및 모더레이션 목적을 위해 관리자 및 모더레이터는 항상 전체 가시성을 유지합니다.
자기 가시성: 사용자는 인가된 그룹에 아직 속하지 않은 경우에도 자신의 숨겨진 필드를 항상 볼 수 있어 자신의 프로필을 관리할 수 있습니다.
피어-투-피어 프라이버시: 동일한 수준의 인증을 거치지 않은 사용자에게 자신의 신원을 노출하지 않도록 보장합니다.
로드맵: 향후 업데이트에서 세분화된 그룹 설정을 추가할 계획입니다. 이를 통해 정확히 어떤 그룹이 서로를 볼 수 있는지 정의할 수 있습니다(예: A그룹은 B그룹을 볼 수 있지만, 역은 아님).
현재 문서화를 마무리하고 있으며, Theme Components 카테고리에 대한 전체 액세스 권한을 얻는 대로 이 내용을 별도의 주제에서 독립적인 “고급 프라이버시” 변형으로 게시할 예정입니다.
그동안 이 양방향 논리가 필요하신 분은 아래에서 확인하실 수 있습니다: GitHub:https://github.com/AirVetra/discourse-hidden-user-fields-bidirectional
이 기능을 사용하시는 분들을 위해 참고사항을 공유드립니다. 이 테마 컴포넌트 대신 다른 경로를 선택하게 되었습니다. 검색 시 용어가 노출되는 것을 발견했는데, 이는 중대한 취약점이었습니다. 'Searchable’은 사이트 검색이 아니라 사용자 디렉토리를 가리킨다는 점을 명확히 추가하겠습니다.