파일 접근 권한에 관한 질문 입니다. > 그누4 질문답변

그누4 질문답변

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

파일 접근 권한에 관한 질문 입니다. 정보

파일 접근 권한에 관한 질문 입니다.

본문

관리자 페이지에서 특정 페이지의 접근권한 설정을 변경 하려고 합니다.
예를 들면 adm/member_list.php 여기를 권한이 7이상인 사람만 볼 수 있게 하고 싶은데요
어디를 변경해 주면 될까요?
 
아래처럼 변경하면 된다고 해서 변경해봤는데 안되네요
최고관리자 또는 관리권한이 있는 회원만 접근 가능합니다 이렇게 나오네요
 
31줄 보면..
if ($is_admin != 'super')
    $sql_search .= " and mb_level <= '$member[mb_level]' ";
-------------------------------------------------
변경...
if($member[mb_level] < '7')
  alert("접근제한합니다..", $g4[path]); 

댓글 전체

관리자 페이지 특정 페이지 접근권한 설정보다는
관리자 페이지 특정메뉴 접근권한 설정이 더 나을것 같습니다.
하시는 방법은 각 페이지 마다 하시는게 아니라
adm/admin.lib.php 파일 265 라인에 보시면 // 접근권한검사 라는 부분이 있습니다.
이부분을
원본소스-----------------------------------------------------------------------------------------------------
// 접근 권한 검사
if (!$member['mb_id'])
{
    //alert("로그인 하십시오.", "$g4[bbs_path]/login.php?url=" . urlencode("$_SERVER[PHP_SELF]?w=$w&mb_id=$mb_id"));
    alert("로그인 하십시오.", "$g4[bbs_path]/login.php?url=" . urlencode("$_SERVER[PHP_SELF]?$_SERVER[QUERY_STRING]"));
}
else if ($is_admin != "super")
{
    $auth = array();
    $sql = " select au_menu, au_auth from $g4[auth_table] where mb_id = '$member[mb_id]' ";
    $result = sql_query($sql);
    for($i=0; $row=sql_fetch_array($result); $i++)
    {
        $auth[$row[au_menu]] = $row[au_auth];
    }

    if (!$i)
    {
        alert("최고관리자 또는 관리권한이 있는 회원만 접근 가능합니다.", $g4[path]);
    }
}
@ksort($auth);

수정소스--------------------------------------------------------------------------------------------------
// 접근 권한 검사
if (!$member['mb_id'])
{
    //alert("로그인 하십시오.", "$g4[bbs_path]/login.php?url=" . urlencode("$_SERVER[PHP_SELF]?w=$w&mb_id=$mb_id"));
    alert("로그인 하십시오.", "$g4[bbs_path]/login.php?url=" . urlencode("$_SERVER[PHP_SELF]?$_SERVER[QUERY_STRING]"));
}
else if ($is_admin != "super")
{
    $auth = array();
    $sql = " select au_menu, au_auth from $g4[auth_table] where mb_id = '$member[mb_id]' ";
    $result = sql_query($sql);
    for($i=0; $row=sql_fetch_array($result); $i++)
    {
        $auth[$row[au_menu]] = $row[au_auth];
    }

/*
[100300] 메일 테스트
[100400] 버전정보
[100500] phpinfo()
[100600] 업그레이드
[100700] 복구/최적화
[100800] 세션 삭제
[200100] 회원관리 (회원레벨 7이상은 권한검사 통과)
[200200] 포인트관리
[200300] 회원메일발송
[200800] 접속자현황
[200900] 투표관리
[300100] 게시판관리
[300200] 게시판그룹관리
*/

if ($member[mb_level]>=7) {
$tmp_auth="ok";
$auth[200100] = "r,w,d";
}

    if (!$i&&$tmp_auth!="ok")
    {
        alert("최고관리자 또는 관리권한이 있는 회원만 접근 가능합니다.", $g4[path]);
    }
}
@ksort($auth);
---------------------------------------------------------------------------------------------------------
이런식으로 바꿔주시면 되고 위 수정소스를 잘보시면 알겠지만
if ($member[mb_level]>=회원레벨) {
    $tmp_auth="ok"; //
    $auth[각메뉴번호] = "r(읽기권한),w(입력,수정권한),d(삭제권한)";
    $auth[각메뉴번호] = "r(읽기권한),w(입력,수정권한)";
    $auth[각메뉴번호] = "r(읽기권한),d(삭제권한)";
}
이런식입니다.

보시고 궁금하신점은 다시 리플달아주세요~
답변 감사합니다.
질문 한가지만 할께요
관리자 페이지의 모든 파일들은 최고관리자만 볼수 있고 딱 하나의 파일(member_list.php)만 권한이 7 이상인 사람만 보게 할려고 하는데..
이렇게는 안되는 건가요?
위에처럼 했을경우 로그인 하게 되면 admin 아이콘이 나오게 되고 관리자 페이지까지 볼 수 있게 됩니다.
admin 아이콘이야 없애버리면 되지만 관리자 페이지에 들어가서 모든 회원목록을 보게되면 안되거든요
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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