현재접속자 페이지를 관리자만 볼 수 있게

현재접속자 페이지를 관리자만 볼 수 있게

QA

현재접속자 페이지를 관리자만 볼 수 있게

본문

/bbs/current_connect.php 현재 접속자 페이지를 로그인 회원중에 관리자만 볼 수 있도록 하는데요.

일단 메인 화면에서는 이렇게 해놓았는데

<?php if($is_member) { ?>

    <?php if($is_admin) { ?>

 <a href="<?php echo $at_href['connect'];?>">접속 

<?php echo number_format($stats['now_total']); ?>

<?php echo ($stats['now_mb']) ? ' (<b class="orangered">'.number_format($stats['now_mb']).'</b>)' : ''; ?></a>

  <?php } ?>

<?php } ?>

클릭 링크가 보이지 않게는 되지만 그냥 바로 test.co.kr/bbs/current_connect.php

이렇게 바로 입력을 해서 접속을 하면 하면 페이지가 열려버리네요.

 

그래서 current_connect.php 이 php파일을 열어보니까

너무 길던데 어디를 수정해야 하는지 잘 모르겠네요.

 

아래는 current_connect.php 파일의 소스코드 입니다.

<?php
include_once('./_common.php');

// Page ID
$pid = 'connect';
$at = apms_page_thema($pid);
include_once(G5_LIB_PATH.'/apms.thema.lib.php');

// 스킨 체크
list($connect_skin_path, $connect_skin_url) = apms_skin_thema('connect', $connect_skin_path, $connect_skin_url); 

// 설정값 불러오기
$is_connect_sub = false;
@include_once($connect_skin_path.'/config.skin.php');

$g5['title'] = '현재접속자';

if($is_connect_sub) {
    include_once(G5_PATH.'/head.sub.php');
    if(!USE_G5_THEME) @include_once(THEMA_PATH.'/head.sub.php');
} else {
    include_once('./_head.php');
}

$skin_path = $connect_skin_path;
$skin_url = $connect_skin_url;

$list = array();

$sql_find = ($config['as_admin']) ? "and find_in_set(a.mb_id, '{$config['as_admin']}')=0" : "";

$sql = " select a.mb_id, b.mb_nick, b.mb_name, b.mb_email, b.mb_homepage, b.mb_open, b.mb_point, b.as_level, a.lo_ip, a.lo_location, a.lo_url
            from {$g5['login_table']} a left join {$g5['member_table']} b on (a.mb_id = b.mb_id)
            where a.mb_id <> '{$config['cf_admin']}' $sql_find
            order by a.mb_id desc, a.lo_datetime desc ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
    $row['lo_url'] = get_text($row['lo_url']);
    $list[$i] = $row;

    if ($row['mb_id']) {
        $list[$i]['name'] = apms_sideview($row['mb_id'], cut_str($row['mb_nick'], $config['cf_cut_name']), $row['mb_email'], $row['mb_homepage'], $row['as_level']);
    } else {
        if ($is_admin)
            $list[$i]['name'] = $row['lo_ip'];
        else
            $list[$i]['name'] = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $row['lo_ip']);
    }

    $list[$i]['num'] = sprintf('%03d',$i+1);
}

// 스킨설정
$wset = (G5_IS_MOBILE) ? apms_skin_set('connect_mobile') : apms_skin_set('connect');

$setup_href = '';
if(is_file($skin_path.'/setup.skin.php') && ($is_demo || $is_designer)) {
    $setup_href = './skin.setup.php?skin=connect&ts='.urlencode(THEMA);
}

include_once($skin_path.'/current_connect.skin.php');

if($is_connect_sub) {
    if(!USE_G5_THEME) @include_once(THEMA_PATH.'/tail.sub.php');
    include_once(G5_PATH.'/tail.sub.php');
} else {
    include_once('./_tail.php');
}
?>

어디를 수정을 해야 관리자만 열 수 있게 되나요?

이 질문에 댓글 쓰기 :

답변 2

그냥 단순한방법으로

 

/root/extend/user.config.php

위 파일에서 아래 구문을 추가해보시고 테스트해보세요

 

if(!$is_admin && preg_match("#current_connect.php#", $_SERVER['REQUEST_URI'])) {

    alert("접근 권한이 없습니다.", G5_URL);

}

답변을 작성하시기 전에 로그인 해주세요.
전체 123,162 | RSS
QA 내용 검색

회원로그인

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