BOARD

팁·활용

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

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 0회 작성일 26-09-12 11:02

본문

문제 상황과 원인

그누보드 댓글에 여분 필드를 추가하여 사용할 때, 일반 댓글뿐만 아니라 비밀글로 작성된 댓글에서도 여분 필드 내용이 그대로 노출되는 문제가 발생할 수 있습니다. 이는 댓글 스킨 파일에서 여분 필드를 출력할 때 비밀글 여부나 작성자 권한을 확인하는 로직이 누락되어 있기 때문입니다.

수정 전 백업 및 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 } ?>

적용 후 확인 및 복구 방법

코드를 적용한 후에는 게시판에서 비밀 댓글을 작성하고, 작성자와 관리자가 아닌 일반 방문자나 다른 회원의 계정으로 해당 비밀 댓글의 여분 필드 내용이 숨겨져 정상적으로 비공개 처리되는지 확인해야 합니다. 만약 수정 후 오류가 발생하거나 원하지 않는 동작이 나타난다면 백업해 둔 원본 파일을 업로드하여 원래 상태로 복구할 수 있습니다.

댓글목록

등록된 댓글이 없습니다.