은진아빠

그룹관리자 회원등록 권한 수정

· 2003-08-07 (목) 17:20:55 · 2403 · 3
그누보드의 접근회원 설정 기능은 게시판의 그룹을 마치 클럽처럼 동작하게 할 수 있는 유용한 기능입니다. 그런데 2.65 기준으로 그룹관리자와 동일한 권한을 갖는 사람들만이 그룹관리자의 회원리스트에 나타나게 되어있습니다. 이 부분은 그룹관리자 이하 레벨의 회원의 리스트가 나타나게 한다든가, 모든 레벨의 회원들이 나타나는게 낫지 않을까 생각됩니다. 혹시 모든 레벨을 나타나게 할 경우 그룹관리자보다 높은 레벨의 회원, 예를 들어 최고관리자가 그룹에 못 들어가게 되는 경우가 있는 것인지도 모르겠습니다만- 일단 제쳐두고, 그룹관리자와 같거나 낮은 레벨을 가진 회원의 접근레벨을 설정할 수 있도록 소스를 수정해 봅시다. 하아- 서론이 길었습니다.

_admin/memberlist.php를 보면 21번째 줄에

if ($is_admin == 'group') {
$sql_search .= " and mb_level = '$member[mb_level]' ";
}

라는 부분이 있군요. 여기를 다음처럼 수정하면 됩니다.

if ($is_admin == 'group') {
$sql_search .= " and mb_level <= '$member[mb_level]' ";
}

이것으로 그룹관리자가 자신과 같은 레벨을 포함해서 자신보다 낮은 레벨들의 회원들에게 접근권한을 설정할 수 있게 되었습니다.

그리고 덤으로 드리는 팁입니다. 그룹관리자가 포인트를 줄 수 있는 기능을 빼고 싶다면 _admin/head.php에서 24번째 줄에 <tr><td height=20><a href='pointlist.php'><b>포인트관리</b></a></td></tr> 부분을 눈에 안보이게 하면 됩니다.

24번째 줄을 다음처럼 수정하세요.

<? if ($is_admin == 'default') { echo "<tr><td height=20><a href='pointlist.php'><b>포인트관리</b></a></td></tr>"; } ?>

물론 링크만 안보이게 한 것이기 때문에 그룹관리자가 직접 poinitlist.php를 호출한다면 권한이 있습니다. 이것까지 막고 싶다면 pointlist.php를 <? if ($is_admin == 'default') { ~~ } ?>로 묶어버리면 되겠지요. 맨 뒤에 else를 넣어서 "이상한 짓 하지 마세요" 등으로 메세지를 띄워도 재미있을것 같네요. 경고창을 띄우고 뒤로 돌아가도록 해도 되겠지요. 글을 쓰다보니 경고창 쪽이 훨씬 재미있을 것 같군요. 프로그램 시작부에 admin의 권한이 default가 아니라면 경고창을 띄우게 하고 프로그램 이하 내용도 실행되지 않게 하는 것이 확실한 보안이 될것 같네요.
|

댓글 3개

감사합니다.
2003-08-13 (수) 13:07:47
안녕하세요~~~?
정준군님~~~좋은팁 감사 합니다...^^
2003-08-07 (목) 21:59:39
그렇잖아도 그룹을 이용해서 클럽을 만들려고 했었는데 ^^
좋은 팁 감사합니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누3 팁자료실

1,026건
+
제목 글쓴이 날짜 조회
03-08-08 조회 2,964
03-08-07 조회 2,404
03-08-06 조회 3,316
03-08-04 조회 3,237
03-08-01 조회 2,344
03-08-01 조회 3,242
03-07-31 조회 2,100
MMANDO
03-07-28 조회 3,385
03-07-26 조회 2,954
03-06-18 조회 6,635
03-07-15 조회 3,241
03-06-16 조회 3,689
03-06-14 조회 4,825
03-06-13 조회 2,639
03-06-12 조회 2,781
03-06-12 조회 2,026
03-05-27 조회 3,256
03-07-21 조회 3,038
03-07-19 조회 3,059
03-07-19 조회 1,939