게시판의 권한 관련된부분입니다.

· 15년 전 · 1442
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.

오류 주소 : /bbs/delete.php

일단 시나리오는 이렇습니다.

1. 게시판의 게시판 관리자를 등록(여러명(콤마로 구분))시켰습니다.
2. 그리고 common.lib 에서 is_admin 에서 관리자인지 분활시켜서 처리했습니다.
3. 이 게시판 관리자는 레벨이 삭제 권한이 없는 레벨입니다.
4. echo $is_admin 이라고 출력해보면 'board' 가 출력이 됩니다.
5. 그런데 이 게시판 관리자 한번 더 확인을 거치게 되는데,,,
[code]

if ($is_admin == "super") // 최고관리자 통과
;
else if ($is_admin == "group") { // 그룹관리자
$mb = get_member($write[mb_id]);
if ($member[mb_id] != $group[gr_admin]) // 자신이 관리하는 그룹인가?
alert("자신이 관리하는 그룹의 게시판이 아니므로 삭제할 수 없습니다.");
else if ($member[mb_level] < $mb[mb_level]) // 자신의 레벨이 크거나 같다면 통과
alert("자신의 권한보다 높은 권한의 회원이 작성한 글은 삭제할 수 없습니다.");
} else if ($is_admin == "board") { // 게시판관리자이면
$mb = get_member($write[mb_id]);
if ($member[mb_id] != $board[bo_admin]) // 자신이 관리하는 게시판인가?
alert("자신이 관리하는 게시판이 아니므로 삭제할 수 없습니다.");
else if ($member[mb_level] < $mb[mb_level]) // 자신의 레벨이 크거나 같다면 통과
alert("자신의 권한보다 높은 권한의 회원이 작성한 글은 삭제할 수 없습니다.");
} else if ($member[mb_id]) {
if ($member[mb_id] != $write[mb_id])
alert("자신의 글이 아니므로 삭제할 수 없습니다.");
} else {
if ($write[mb_id])
alert("로그인 후 삭제하세요.", "./login.php?url=".urlencode("./board.php?bo_table=$bo_table&wr_id=$wr_id"));
else if (sql_password($wr_password) != $write[wr_password])
alert("패스워드가 틀리므로 삭제할 수 없습니다.");
}

[/code]

궁금한 부분이 저부분입니다.
게시판 관리자 인데, 왜? 한번더 확인을 하는 건가요?
그리고 또한번 레벨 검사를 하는데,, 왜 그런건가요?
|
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
15년 전 조회 1,645
15년 전 조회 1,089
15년 전 조회 1,518
15년 전 조회 1,154
15년 전 조회 815
15년 전 조회 899
15년 전 조회 1,026
15년 전 조회 1,493
15년 전 조회 1,060
15년 전 조회 1,443
15년 전 조회 1,468
15년 전 조회 1,601
15년 전 조회 1,003
15년 전 조회 1,946
15년 전 조회 1,459
15년 전 조회 1,436
15년 전 조회 1,519
15년 전 조회 1,080
15년 전 조회 1,605
15년 전 조회 1,509