BOARD

팁·활용

그누보드 비회원 작성 댓글 수정 기능 활성화 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 5회 작성일 26-10-20 15:26

본문

그누보드 비회원 작성 댓글 수정 기능 활성화 방법

그누보드에서 기본적으로 지원하지 않는 비회원 댓글 수정 기능을 스킨 및 처리 파일 수정으로 활성화하는 방법을 안내합니다.

비회원 댓글 수정 기능 활성화 방법

그누보드는 기본적으로 비회원 댓글 수정을 지원하지 않으므로, 스킨 파일 수정과 비밀번호 확인 로직 추가가 필요합니다. 작업 전 반드시 해당 스킨 파일을 백업하십시오.

1. view_comment.skin.php 수정

스킨 폴더 내 view_comment.skin.php 파일을 열어 다음 내용을 적용합니다.

  • 수정 버튼 출력: 반복문 for ($i=0; $i<$cmt_amt; $i++) { 내부에 추가합니다.
    if ($is_guest &&!$list[$i]['mb_id']) { $list[$i]['is_edit'] = true; }
  • 작성자 이름 유지: <input type="hidden" value="<?php echo strstr($list[$i]['wr_option'],"secret")?>" id="secret_comment_<?php echo $comment_id?>"> 코드 바로 밑에 추가합니다.
    <?php if ($is_guest) {?><input type="hidden" value="<?php echo $list[$i]['wr_name']?>" id="save_comment_name_<?php echo $comment_id?>"><?php }?>
  • 스크립트 보완: document.getElementById('wr_content').value =... 코드 바로 밑에 추가합니다.
    <?php if ($is_guest) {?>document.getElementById('wr_name').value = document.getElementById('save_comment_name_' + comment_id).value;<?php }?>

2. 비밀번호 검증 로직 추가

스킨 폴더 안에 write_comment_update.head.skin.php 파일을 생성하고 아래 코드를 입력합니다.

<?php
if (!defined('_GNUBOARD_')) exit;
if ($w == "cu" && $is_guest) {
 $wr_password = trim($_POST['wr_password']);
 $write = sql_fetch(" select * from $write_table where wr_id = '$comment_id' ");
 if (!check_password($wr_password, $write['wr_password'])) {
 alert("비밀번호가 틀립니다.");
 }
}
?>

주의사항: 본 방법은 기본 테스트만 거쳤으며, 비밀 댓글에 대한 보안 취약점이 존재할 수 있습니다. 비밀번호 분실 시 관리자 페이지에서 DB를 직접 확인하거나 수정해야 하므로 운영 시 주의가 필요합니다.

비회원 댓글 수정 시 작성자 이름과 비밀번호 검증 로직 추가 방법

그누보드 환경에서 비회원이 작성한 댓글을 수정할 때 작성자 이름이 유지되도록 스크립트를 보완하고, 전송된 비밀번호를 검증하는 로직을 추가하는 방법입니다.

1. 작성자 이름 가져오기 설정

view_comment.skin.php 파일에서 아래 코드 바로 밑에 비회원 작성자 이름을 저장하는 hidden 입력을 추가합니다.

<input type="hidden" value="<?php echo strstr($list[$i]['wr_option'],"secret")?>" id="secret_comment_<?php echo $comment_id?>">

추가할 코드:

<?php if ($is_guest) {?><input type="hidden" value="<?php echo $list[$i]['wr_name']?>" id="save_comment_name_<?php echo $comment_id?>"><?php }?>

2. 스크립트 수정

view_comment.skin.php 내 스크립트 영역에서 내용(wr_content) 값을 가져오는 코드 바로 밑에 비회원 이름(wr_name) 값을 채워 넣는 코드를 추가합니다.

document.getElementById('wr_content').value = document.getElementById('save_comment_' + comment_id).value;

추가할 코드:

<?php if ($is_guest) {?>document.getElementById('wr_name').value = document.getElementById('save_comment_name_' + comment_id).value;<?php }?>

3. 신규 파일 생성 및 비밀번호 검증 로직 추가

스킨 폴더 안에 write_comment_update.head.skin.php 파일을 새로 생성하고 아래 내용을 입력합니다. 이 로직은 수정 요청 시 입력된 비밀번호가 일치하는지 확인합니다.

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if ($w == "cu" && $is_guest) {
 $wr_password = trim($_POST['wr_password']);
 $write = sql_fetch(" select * from $write_table where wr_id = '$comment_id' ");
 if (!check_password($wr_password, $write['wr_password'])) {
 alert("비밀번호가 틀립니다.");
 }
}
?>

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.