그룹관리자, 게시판관리자가 레벨이 낮아도 관리자 권한부여 (2013-11-06 12:01 수정) > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

그룹관리자, 게시판관리자가 레벨이 낮아도 관리자 권한부여 (2013-11-06 12:01 수정) 정보

그룹관리자, 게시판관리자가 레벨이 낮아도 관리자 권한부여 (2013-11-06 12:01 수정)

본문

--------------------------------------------------------------------------
2013-11-05  18:12
논리적 취약점 및 중복되는 코드를 제거해서 다시 올렸습니다.
혹, 기존에 적용하신 분은 위 코드와 비교해서 다시 적용하시는것이 좋습니다.
--------------------------------------------------------------------------

위 링크의 강좌에서는 글자에 색상을 추가해서 보기 좋습니다.

게시판 관리자로 설정된 사람이 꼭 레벨이 낮아도 해야하는 경우가 있습니다.
아래 팁은 그런 경우 회원권한에 관계없이 게시판 관리자역할을 할 수 있게 하는 팁입니다.



1-1. bbs / board.php 71라인

    // 로그인된 회원의 권한이 설정된 읽기 권한보다 작다면
    if ($member[mb_level] < $board[bo_read_level])
    {
        if ($member[mb_id])
            //alert("글을 읽을 권한이 없습니다.");
            alert("글을 읽을 권한이 없습니다.", $g4[path]);
        else
            alert("글을 읽을 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("./board.php?bo_table=$bo_table&wr_id=$wr_id"));
    }

를 아래와 같이 변경

    // 로그인된 회원의 권한이 설정된 읽기 권한보다 작다면
    if ($member['mb_id'] && ($group[gr_admin] == $member['mb_id'] || $board[bo_admin] == $member['mb_id'])) {  // 해피정닷컴. 그룹&게시판관리자 권한적용 (2013-11-05 수정)
    } else if ($member[mb_level] < $board[bo_read_level])    // 해피정닷컴. 그룹&게시판관리자 권한적용 (2013-11-05 수정)
    {
        if ($member[mb_id])
            //alert("글을 읽을 권한이 없습니다.");
            alert("글을 읽을 권한이 없습니다.", $g4[path]);
        else
            alert("글을 읽을 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("./board.php?bo_table=$bo_table&wr_id=$wr_id"));
    }



1-2. bbs / board.php 155라인

    if ($member[mb_level] < $board[bo_list_level])
    {
        if ($member[mb_id])
            alert("목록을 볼 권한이 없습니다.", $g4[path]);
        else
            alert("목록을 볼 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("board.php?bo_table=$bo_table&wr_id=$wr_id"));
    }

를 아래와 같이 변경

    if ($member['mb_id'] && ($group[gr_admin] == $member['mb_id'] || $board[bo_admin] == $member['mb_id'])) {  // 해피정닷컴. 그룹&게시판관리자는 권한적용 (2013-11-05 수정)
    } else if ($member[mb_level] < $board[bo_list_level])  // 해피정닷컴. 그룹&게시판관리자는 권한적용 (2013-11-05 수정)
    {
        if ($member[mb_id])
            alert("목록을 볼 권한이 없습니다.", $g4[path]);
        else
            alert("목록을 볼 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("board.php?bo_table=$bo_table&wr_id=$wr_id"));
    }



1-3. bbs / board.php 219라인

    if ($member[mb_level] >= $board[bo_list_level] && $board[bo_use_list_view] || empty($wr_id))
        include_once ("./list.php");

를 아래와 같이 변경

    if ($member[mb_level] >= $board[bo_list_level] && $board[bo_use_list_view] || empty($wr_id) || $member['mb_id'] && ($group[gr_admin] == $member['mb_id'] || $board[bo_admin] == $member['mb_id']))  // 해피정닷컴. 그룹&게시판관리자 권한적용 (2013-11-06 수정)
        include_once ("./list.php");



2. bbs / list.php  153라인

if ($member[mb_level] >= $board[bo_write_level])
    $write_href = "./write.php?bo_table=$bo_table";

를 아래와 같이 변경

if ($member[mb_level] >= $board[bo_write_level] || $member['mb_id'] && ($group[gr_admin] == $member['mb_id'] || $board[bo_admin] == $member['mb_id']))  // 해피정닷컴. 그룹&게시판관리자 권한적용 (2013-11-05 수정)
    $write_href = "./write.php?bo_table=$bo_table";



3-1. bbs / write.php 29라인
    if ($member[mb_level] < $board[bo_write_level]) {
        if ($member[mb_id])
            alert("글을 쓸 권한이 없습니다.");
        else
            alert("글을 쓸 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?$qstr&url=".urlencode("$_SERVER[PHP_SELF]?bo_table=$bo_table"));
    }

를 아래와 같이 변경

    if ($member['mb_id'] && ($member[mb_level] >= $board[bo_write_level] || $board[bo_admin] == $member['mb_id'])) {  // 해피정닷컴. 그룹&게시판관리자 권한적용 (2013-11-05 수정)
    } else if ($member[mb_level] < $board[bo_write_level]) {  // 해피정닷컴. 그룹&게시판관리자 권한적용 (2013-11-05 수정)
        if ($member[mb_id])
            alert("글을 쓸 권한이 없습니다.");
        else
            alert("글을 쓸 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?$qstr&url=".urlencode("$_SERVER[PHP_SELF]?bo_table=$bo_table"));
    }



3-2. bbs / write.php 54라인

    if($member['mb_id'] && $write['mb_id'] == $member['mb_id'])
        ;
    else if ($member[mb_level] < $board[bo_write_level]) {
        if ($member[mb_id])
            alert("글을 수정할 권한이 없습니다.");
        else
            alert("글을 수정할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?$qstr&url=".urlencode("$_SERVER[PHP_SELF]?bo_table=$bo_table"));
    }

를 아래와 같이 변경

    if($member['mb_id'] && ($write['mb_id'] == $member['mb_id'] || $group[gr_admin] == $member['mb_id'] || $board[bo_admin] == $member['mb_id']))  // 해피정닷컴. 그룹&게시판관리자 권한적용 (2013-11-05 수정)
        ;
    else if ($member[mb_level] < $board[bo_write_level]) {
        if ($member[mb_id])
            alert("글을 수정할 권한이 없습니다.");
        else
            alert("글을 수정할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?$qstr&url=".urlencode("$_SERVER[PHP_SELF]?bo_table=$bo_table"));
    }



4. bbs / write_update.php 61라인

    if($w =="u" && $member['mb_id'] && $wr['mb_id'] == $member['mb_id']
        ;
    else if ($member[mb_level] < $board[bo_write_level])
        alert("글을 쓸 권한이 없습니다.");

를 아래와 같이 변경

    if($w =="u" && $member['mb_id'] && ($wr['mb_id'] == $member['mb_id'] || $group[gr_admin] == $member['mb_id'] || $board[bo_admin] == $member['mb_id']))  //  해피정닷컴. 그룹&게시판관리자 권한적용 (2013-11-05 수정)
        ;
    else if ($member[mb_level] < $board[bo_write_level]) {
        alert("글을 쓸 권한이 없습니다.");



5. bbs / write_comment_update.php 27라인

    if ($member[mb_level] < $board[bo_comment_level])
        alert("코멘트를 쓸 권한이 없습니다.");

를 아래와 같이 변경

    if ($member['mb_id'] && ($board[bo_admin] == $member['mb_id'] || $board[bo_admin] == $member['mb_id'])) {  // 해피정닷컴. 그룹&게시판관리자 권한적용 (2013-11-05 수정)
    } else if ($member[mb_level] < $board[bo_comment_level]    // 해피정닷컴. 그룹&게시판관리자 권한적용 (2013-11-05 수정)
        alert("코멘트를 쓸 권한이 없습니다.");


참고자료
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=13735
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=30935
추천
2

댓글 5개

전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT