그누보드7 비회원 비밀글 답변 보기 불가 상황

안녕하세요. 그누보드7에서 Basic 유형의 '온라인 상담'게시판을 하나 만들고, 비회원도 문의가능하도록 했습니다.

비회원이 비밀글 설정하여 글쓰기 한 후, 자신이 작성한 글만 보이고, 나머지는 볼 수 없어야 하는데, 모든 글을 볼수 있었습니다.

설정은 아래와 1번 이미지와 같았습니다.

그래서, 게시판관리>환경설정>의 권한 설정으로 가서 일반 권한을 아래 2번이미지와 같이 설정하였습니다.

그 결과, 게시판에서 자신이 작성한 글은 비밀번호 입력 후 잘 볼 수 있었고, 다른 게시물은 볼 수 없었습니다. 

모두 정상인가 했지만, 비회원이 작성한 비밀글에 관리자가 답변을 달았을때, 원글을 작성한 비회원이 이 답변글을

볼 수가 없게나옵니다. 관리자가 쓴 글이라고, 비회원 자신이 설정한 비밀번호란이 나오게 되어야 하는데,

로그인 체크가 나옵니다. 

혹시 이부분을 체크해 주실 수 있을지 여쭤봅니다. 감사합니다.

1번 이미지

1791906125_k5pgziovi6.webp

2번이미지

1791906419_xagdSEmAae.webp

답변 3개 / 댓글 4개

안녕하세요. 말씀하신 증상 확인중에 있습니다.
확인이 완료되는대로 답변드리도록 하겠습니다.
감사합니다.

답변에 대한 댓글 2개

확인해주셔서 감사드립니다.
다른 업무처리로 확인이 지연된점 양해 말씀 드립니다.

제보해주신 내용은 그누보드7의 설계 결함에 해당되는 부분으로 판단했습니다.


1. 비회원 역할에 '전체, 소유역할, 본인만' 부여가 가능한 점
비회원은 회원 ID가 없어 '본인만'을 판정할 기준이 없습니다. 그래서 권한의 범위(Scope)를 부여하더라도 그대로 검증이 통과되게 되며, 결과적으로 비회원인 모든 사용자에게 해당 권한이 부여되는 것을 확인했습니다.

비회원은 권한의 범위(Scope)를 부여하지 못하도록 보완하도록 하겠습니다.

(부수적으로 회원 역할에 "비밀글 조회 = 본인만"을 부여해도 모든 비밀글이 전부 보이는 버그도 있습니다. 이 부분도 함께 조치하도록 하겠습니다)


2. 비밀글 인증을 거치더라도 비밀글의 답변을 볼 수 있는 증상
이 부분도 설계 결함이 맞는 점 확인했습니다.
원글 작성자는 전체 답변을 열람 가능하도록 하고, 답변 작성자가 비회원/회원인 경우 (게시판 스텝이 아닌 경우) 원글 포함 조상 경로와, 직계 하위 경로만 조회 가능하도록 보완하도록 하겠습니다.

아래와 같은 형태가 됩니다.

예를 들어 비밀글 A가 있고, 답변글 B, C가 있고, B에 대한 답변글 D, C에 대한 답변 E가 있다면,

- A 작성자는 B, C, D, E를 모두 볼 수 있습니다.
- B 작성자는 A(부모), B, D(자식)을 볼 수 있으나, C, D는 볼 수 없습니다.
- E 작성자는 A(조상), C(부모)를 볼 수 있습니다.

이 부분은 결함에 해당되므로 핫픽스로 보완하도록 하겠습니다.

보완이 완료되면 댓글로 알려드리겠습니다.

원인을 더 좁힐 수 있는 확인 방법을 보탭니다. 먼저 설치된 그누보드7 코어, sirsoft-board 게시판 모듈, sirsoft-basic 템플릿의 버전을 각각 확인해 주세요. 관리자 답변이 별도 답글인지, 원글 아래 댓글인지도 함께 구분하면 좋겠습니다.

관리자와 다른 브라우저·프로필에서 테스트용 비회원 글로 아래 두 경우를 비교해 보세요.

  1. 원글을 비밀번호로 정상 열람한 다음 관리자 답글을 여는 경우
  2. 새 비회원 프로필에서 같은 관리자 답글로 바로 접근하는 경우

개발자 도구의 Network에서 각 경우의 실패한 요청 경로(쿼리 문자열 제외), HTTP 상태 코드, 오류 문구만 확인하면 됩니다. 새 시크릿 창 여러 개는 세션이 공유될 수 있으므로 서로 다른 브라우저나 프로필을 사용하는 편이 명확합니다.

확인한 공식 PostService::verifyPassword()에는 회원이 작성한 글의 비밀번호 검증을 password_verify_not_allowed로, 비회원 글의 잘못된 비밀번호를 password_incorrect로 구분하는 분기가 있습니다. 따라서 로그인 안내만 보고 비밀번호 오류라고 판단하기보다 원글의 비밀번호 검증과 관리자 답글의 열람 요청 중 어디에서 막히는지 구분하는 것이 도움이 됩니다. 설치 버전에 따라 구현은 다를 수 있습니다.

공식 소스: PostService.php

실제 상담 내용 대신 테스트 글로 확인하시고, 비밀번호·토큰·쿠키·인증 헤더·전체 요청 기록은 공유하지 마세요. 버전과 위 결과만 정리하면 개발진도 같은 조건으로 확인하기 쉬워집니다. 질문자 환경에서 직접 재현하거나 수정한 결과는 아닙니다.

답변에 대한 댓글 1개

말씀해주신 내용으로 테스트해보겠습니다.
답변 감사드립니다.

----
1. 그누보드 코어는 v7.0.11 , sirsoft-board 게시판 모듈, sirsoft-basic 템플릿 입니다.
2. 관리자 답변이 별도의 답글입니다.
3. 관리자와 다른 브라우저·프로필에서 테스트용 비회원 글로 아래 두 경우를 비교
* 원글을 비밀번호로 정상 열람한 다음 관리자 답글을 여는 경우 - 비밀번호 대신 로그인 요구.
*새 비회원 프로필에서 같은 관리자 답글로 바로 접근하는 경우 - 비밀번호 대신 로그인 요구(같은 현상).
4. 관리자 도구 테스트는 제가 배우는 단계라 잘 몰라서 AI 도움을 받았습니다.
--아래 AI 정리--
테스트 시나리오 및 결과:
원글 정상 열람 후 관리자 답글 접근 시:
원글 비번 인증 후 팝업된 관리자 답글(Re:...) 링크를 클릭하면, 백엔드 라우터로 향하는 조회 API(GET /api/modules/sirsoft-board/boards/.../posts/{답글id})에서 **HTTP 상태 코드 401 Unauthorized (또는 권한 부족 에러)**가 발생합니다.

새 프로필(세션 없음)에서 관리자 답글로 바로 접근 시: |
동일하게 401 코드를 뱉으며, G7 코어의 권한 체크 로직에 의해 비회원 세션이 해당 답글에 매칭되지 않아 차단됩니다.

확인된 포인트: PostService::verifyPassword() 검증 단계를 거쳐 원글의 비밀번호 세션이 유지되고 있음에도 불구하고, 하위 답글(Reply) 객체 조회 시 원글의 인증 세션이 자동으로 승계되지 않고 답글 자체의 소유권/권한을 다시 요구하여 막히는 현상으로 파악됩니다.
안녕하세요.

말씀하신 현상과 관련하여 그누7의 공식 게시판 모듈및 Basic 템플릿의 비밀글 처리 흐름을 정적 분석해 보았습니다.

현재 소스 구조에서는 관리자가 작성한 답변이 원글과 별도의 게시글로 처리되며,
비회원이 원글 작성 시 설정한 비밀번호로 관리자 답변까지 열람할 수 있도록 인증이 연결되는 구조는 확인되지 않았습니다.
따라서 비회원이 자신의 비밀글을 비밀번호로 열람할 수 있더라도,
관리자가 작성한 비밀 답변은 별도의 작성자 정보와 접근 판정을 거치면서 로그인 안내가 표시될 수 있습니다.
이는 단순히 게시판 권한 설정만 변경하여 해결할 수 있는 문제라고 보기 어렵고,
비회원 상담 게시판에서 원글 작성자가 관리자 답변까지 열람할 수 있어야 하는지에 대한 기능 정책 및 구현 검토가 필요한 부분으로 판단됩니다.

현재 확인한 내용은 소스 코드에 대한 정적 분석 결과이며, 실제 환경에서 재현 테스트를 진행한 것은 아닙니다.
따라서 임의로 권한을 완화하거나 코어 파일을 수정하기보다는,
그누7 개발진의 공식 확인과 개선 안내를 기다리는 것이 안전하겠습니다.

답변에 대한 댓글 1개

네 그렇게 하겠습니다.
답변주셔서 감사합니다.

답변을 작성하려면 로그인이 필요합니다.