그누보드 특정 게시판 비밀글 관리자 공용 비밀번호 자동 적용 방법
페이지 정보

본문
그누보드 특정 게시판 비밀글 관리자 공용 비밀번호 자동 적용 방법
그누보드 특정 게시판에서 관리자가 비밀글을 작성할 때마다 비밀번호를 매번 입력하는 번거로움을 없애고, 게시판 설정의 여분필드를 이용해 공용 비밀번호가 자동으로 적용되도록 스킨 파일을 수정하는 방법을 안내합니다.
게시판 여분필드(bo_1)를 이용한 관리자 공용 비밀번호 자동 적용 방법
그누보드에서 특정 게시판의 비밀글을 작성할 때 관리자가 매번 비밀번호를 수동으로 입력하는 번거로움을 줄이기 위해, 게시판 설정의 여분필드 1(bo_1)에 지정한 비밀번호가 글 작성 폼에 자동으로 입력되도록 스킨 파일을 수정할 수 있습니다.
1. 파일 수정 전 백업
예기치 않은 오류에 대비하여 파일 수정 전 대상 스킨 디렉토리의 write.skin.php 및 관련 파일을 반드시 백업합니다.
2. write.skin.php 수정 방법
관리자 권한으로 로그인한 상태에서 게시판 여분필드 1(bo_1)에 값이 설정되어 있는 경우, 글 작성 폼에 비밀번호 hidden 필드가 출력되도록 write.skin.php 파일에 아래 코드를 추가합니다.
<?php if ($is_admin && $board['bo_1']) { ?>
<input type="hidden" name="bo_password" value="<?php echo $board['bo_1'] ?>">
<?php } ?>
3. 주의사항
이 기능은 게시판의 비밀글 기능을 기반으로 동작하므로, 글 등록 시 반드시 비밀글로 설정해야 합니다. 또한, 관리자 권한으로 로그인한 상태에서만 해당 로직이 동작하도록 설계되어 있습니다.
write_update.skin.php 비밀번호 암호화 및 업데이트 로직 구성 방법
글이 등록되거나 수정될 때 실행되는 write_update.skin.php 파일에 전달된 공용 비밀번호를 암호화하여 데이터베이스에 반영하는 코드를 추가합니다.
코드 구현
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if ($is_admin && $bo_password) {
$wr_password = get_encrypt_string($bo_password);
sql_query(" update $write_table set wr_password = '$wr_password' where wr_id = '$wr_id' ");
}
?>
코드 설명 및 조건
- 관리자 권한(
$is_admin)으로 로그인한 상태이고$bo_password값이 전달된 경우에만 동작합니다. get_encrypt_string($bo_password)함수를 통해 평문 비밀번호를 암호화합니다.sql_query함수를 사용하여 해당 게시물의 데이터베이스 레코드($write_table)의wr_password값을 암호화된 문자열로 업데이트합니다.
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글그누보드 특정 게시판 관리자 외 사용자 글 삭제 제한 방법 26.09.13
- 다음글그누보드 게시판 본문 이미지 및 텍스트 중앙 정렬 설정 방법 26.09.13
댓글목록
등록된 댓글이 없습니다.