그누보드4 특정 레벨 이상 회원 비밀글 열람 권한 부여 방법
페이지 정보

본문
그누보드4 특정 레벨 이상 회원 비밀글 열람 권한 부여 방법
그누보드4 운영 시 특정 레벨 이상의 회원에게 비밀글 열람 권한을 부여하는 소스 수정 방법을 안내합니다.
그누보드4 특정 레벨 이상 회원 비밀글 열람 권한 부여 방법
그누보드4에서 특정 레벨 이상의 회원이 비밀글을 읽을 수 있도록 허용하려면 bbs/board.php 파일을 수정하여 권한 체크 조건문을 확장해야 합니다.
수정 파일 및 위치
- 수정할 파일:
bbs/board.php - 찾을 구절:
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin);
else {
- 변경할 구절 (예: 레벨 8 이상 허용 시):
// 자신의 글이거나 관리자라면 통과 + 레벨8이상도 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin || ($member[mb_level] >= "8"));
else {
주의사항 및 다음 행동
- 위와 같이 코드를 수정할 경우, 비밀글뿐만 아니라 조건에 해당하는 레벨의 회원에게 모든 글 읽기 권한이 적용될 가능성이 있으므로 적용 범위를 검토해야 합니다.
- 수정 전 원본 파일을 반드시 백업한 후 진행하세요.
bbs/board.php 파일 내 권한 체크 조건문 변경 방법
그누보드4에서 특정 레벨 이상의 회원에게 비밀글 열람 권한을 부여하려면 bbs/board.php 파일의 권한 체크 조건문을 수정해야 합니다.
1. 수정할 파일 및 위치
- 파일 경로:
bbs/board.php - 확인할 기존 코드:
// 자신의 글이거나 관리자라면 통과 if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin);
2. 코드 변경 방법
기존 조건문에 레벨 조건을 추가하여 특정 등급 회원을 통과시키도록 변경합니다.
- 수정 후 코드:
// 자신의 글이거나 관리자라면 통과 + 레벨8이상도 통과 if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin || ($member[mb_level] >= "8"));
3. 주의사항 및 다음 행동
- 이 수정을 적용할 경우 비밀글뿐만 아니라 해당 조건이 적용되는 범위 내의 다른 글 읽기 권한에도 영향을 미칠 수 있으므로 적용 후 의도대로 동작하는지 확인이 필요합니다.
비밀글 권한 수정 시 모든 글 읽기 영향 및 부작용 검토
그누보드4에서 bbs/board.php 파일의 권한 체크 조건문을 수정하여 특정 레벨 이상의 회원에게 비밀글 열람 권한을 부여할 때, 비밀글뿐만 아니라 모든 글읽기 권한에 영향을 미칠 가능성이 존재합니다.
부작용 발생 가능성
- 원문 소스코드 수정 방식은
bbs/board.php내의 글 읽기 권한 검증 로직 자체에 레벨 조건을 추가하는 형태입니다. - 이로 인해 비밀글 열람 권한뿐만 아니라, 일반 글을 포함한 해당 게시판의 모든 글읽기 권한에 직접적으로 적용될 수 있다는 한계가 있습니다.
다음 행동 및 검토 사항
- 코드 수정 전, 해당 변경이 전체 게시판의 모든 글에 영향을 주는지 면밀히 검토해야 합니다.
- 특정 게시판에만 적용하려면 아래와 같이 게시판 아이디(
$bo_table) 조건을 추가하십시오.
// 예: 특정 게시판(free)에서만 레벨 8 이상 허용
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin || ($bo_table == "free" && $member[mb_level] >= "8"));
- 코드 변경 후에는 점검 결과가 없는 상태에서 운영에 반영하지 말고, 특정 레벨 회원의 실제 계정으로 접속하여 의도치 않은 게시글까지 열람되는지 테스트하는 것이 안전합니다.
상황별 판단 및 행동 지침
- 내 상황: 그누보드4에서 특정 레벨 이상의 회원에게 비밀글 열람 권한을 부여하고자 할 때
- 선택 기준:
bbs/board.php파일 내의 기존 권한 체크 조건문에 레벨 조건을 추가하여 권한을 확장합니다. - 다음 행동:
- 수정 전
bbs/board.php원본 파일을 반드시 백업합니다. if조건문에|| ($member[mb_level] >= "8")와 같이 레벨 조건을 추가합니다.- 수정 후, 의도한 게시판 외에 다른 게시판의 글 읽기 권한에 영향을 주지 않는지 테스트합니다.
- 수정 전
실전 FAQ
- Q. 특정 게시판에만 적용하려면 어떻게 하나요?
- 대안:
bbs/board.php전체를 수정하면 모든 게시판에 적용됩니다. 특정 게시판에만 적용하려면 조건문에$bo_table == "게시판아이디"조건을 조합하여 사용하세요.
- 대안:
- Q. 수정 후 발생할 수 있는 예외 사항은 무엇인가요?
- 주의: 이 방식은 비밀글뿐만 아니라 해당 레벨 회원의 일반 글 읽기 권한에도 영향을 미칠 수 있습니다. 적용 후 특정 레벨 회원의 계정으로 접속하여 의도치 않은 게시글까지 열람되는지 확인이 필요합니다.
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글Windows 환경에서 PHP와 MS SQL 연동 시 한글 깨짐 및 검색 오류 해결 방법 26.09.28
- 다음글그누보드4, 영카트4 웜 취약점 및 백도어 대응 패치 가이드 26.09.27
댓글목록
등록된 댓글이 없습니다.