게시판의 권한 관련된부분입니다. > 그누4 질문답변

그누4 질문답변

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

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

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

본문

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

오류 주소 : /bbs/delete.php

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

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


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("패스워드가 틀리므로 삭제할 수 없습니다."); 
}



궁금한 부분이 저부분입니다.
게시판 관리자 인데, 왜? 한번더 확인을 하는 건가요?
그리고 또한번 레벨 검사를 하는데,, 왜 그런건가요?
  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로