파일 접근 권한에 관한 질문 입니다. 정보
파일 접근 권한에 관한 질문 입니다.본문
관리자 페이지에서 특정 페이지의 접근권한 설정을 변경 하려고 합니다.
예를 들면 adm/member_list.php 여기를 권한이 7이상인 사람만 볼 수 있게 하고 싶은데요
어디를 변경해 주면 될까요?
아래처럼 변경하면 된다고 해서 변경해봤는데 안되네요
최고관리자 또는 관리권한이 있는 회원만 접근 가능합니다 이렇게 나오네요
예를 들면 adm/member_list.php 여기를 권한이 7이상인 사람만 볼 수 있게 하고 싶은데요
어디를 변경해 주면 될까요?
아래처럼 변경하면 된다고 해서 변경해봤는데 안되네요
최고관리자 또는 관리권한이 있는 회원만 접근 가능합니다 이렇게 나오네요
31줄 보면..
if ($is_admin != 'super')
$sql_search .= " and mb_level <= '$member[mb_level]' ";
-------------------------------------------------
변경...
if ($is_admin != 'super')
$sql_search .= " and mb_level <= '$member[mb_level]' ";
-------------------------------------------------
변경...
if($member[mb_level] < '7')
alert("접근제한합니다..", $g4[path]);
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(삭제권한)";
}
이런식입니다.
보시고 궁금하신점은 다시 리플달아주세요~
관리자 페이지 특정메뉴 접근권한 설정이 더 나을것 같습니다.
하시는 방법은 각 페이지 마다 하시는게 아니라
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 이상인 사람만 보게 할려고 하는데..
이렇게는 안되는 건가요?
질문 한가지만 할께요
관리자 페이지의 모든 파일들은 최고관리자만 볼수 있고 딱 하나의 파일(member_list.php)만 권한이 7 이상인 사람만 보게 할려고 하는데..
이렇게는 안되는 건가요?
위에처럼 했을경우 로그인 하게 되면 admin 아이콘이 나오게 되고 관리자 페이지까지 볼 수 있게 됩니다.
admin 아이콘이야 없애버리면 되지만 관리자 페이지에 들어가서 모든 회원목록을 보게되면 안되거든요
admin 아이콘이야 없애버리면 되지만 관리자 페이지에 들어가서 모든 회원목록을 보게되면 안되거든요