그누보드 댓글 여분 필드 비밀글 권한 처리 방법
페이지 정보

본문
문제 상황과 원인
그누보드 댓글에 여분 필드를 추가하여 사용할 때, 일반 댓글뿐만 아니라 비밀글로 작성된 댓글에서도 여분 필드 내용이 그대로 노출되는 문제가 발생할 수 있습니다. 이는 댓글 스킨 파일에서 여분 필드를 출력할 때 비밀글 여부나 작성자 권한을 확인하는 로직이 누락되어 있기 때문입니다.
수정 전 백업 및 view_comment.skin.php 수정 방법
코드를 수정하기 전에 원본 view_comment.skin.php 파일을 반드시 백업하여 문제 발생 시 복구할 수 있도록 대비하세요. 댓글 스킨 파일의 반복문 내부에서 권한 확인 변수를 설정하고, 여분 필드 출력 부분을 해당 조건문으로 감싸주어야 합니다.
for ($i=0; $i<$cmt_amt; $i++) {
$cmt_extra_view = false;
if (!strstr($list[$i]['wr_option'], 'secret') || $is_admin || ($write['mb_id']===$member['mb_id'] && $member['mb_id']) || ($list[$i]['mb_id']===$member['mb_id'] && $member['mb_id'])) {
$cmt_extra_view = true;
} else {
$ss_name = 'ss_secret_comment_'.$bo_table.'_'.$list[$i]['wr_id'];
if(get_session($ss_name)) {
$cmt_extra_view = true;
}
}
}위와 같이 권한 체크 로직을 추가한 뒤, 스킨 파일 내에서 여분 필드가 출력되는 부분을 아래의 조건문으로 감싸줍니다.
<?php if ($cmt_extra_view) { ?>
댓글 여분필드 출력 영역
<?php } ?>적용 후 확인 및 복구 방법
코드를 적용한 후에는 게시판에서 비밀 댓글을 작성하고, 작성자와 관리자가 아닌 일반 방문자나 다른 회원의 계정으로 해당 비밀 댓글의 여분 필드 내용이 숨겨져 정상적으로 비공개 처리되는지 확인해야 합니다. 만약 수정 후 오류가 발생하거나 원하지 않는 동작이 나타난다면 백업해 둔 원본 파일을 업로드하여 원래 상태로 복구할 수 있습니다.
- 이전글그누보드 5.4 이상 게시글 추천 시 작성자 포인트 자동 지급 훅 구현 방법 26.09.12
- 다음글그누보드 게시판 뷰 페이지에 첨부파일 설명 직접 출력하기 26.09.12
댓글목록
등록된 댓글이 없습니다.