일반문서 권한 제한, 문서 접근시 로그인후 레벨별로 접근할 수 있도록 하려고 합니다.

일반문서 권한 제한, 문서 접근시 로그인후 레벨별로 접근할 수 있도록 하려고 합니다.

QA

일반문서 권한 제한, 문서 접근시 로그인후 레벨별로 접근할 수 있도록 하려고 합니다.

본문

그누보드5, 영카트5 입니다.

일반문서(html, php)를 만들었습니다.

모든 문서 제일 상단에 

<?php

include_once('./_common.php');

?>

를 넣었습니다. 그리고 아래와 같은 코드를 입력했습니다.

레벨별로 문서 접근 제한을 두려고 합니다.

아래 코드에 무슨 문제가 있나요. 

 

 

=============================

방법1) 

<? if ($is_guest) { ?>

<script>

alert('권한이 없습니다. 회원이시라면 로그인 후 이용해주세요.^^');

location = 'http://~~~~~.com/bbs/login.php';

</script> 

<? } ?>

aaaaaaaaa

 

=============================

방법2) 

<? if ($member['mb_level'] < 3) { ?>

<script>

alert('권한이 없습니다');

location = '<?=G5_PATH?>/bbs/login.php';

</script> 

<? } ?>

aaaaaaaaa

 

=============================

방법3) 

<? 

if ($member[mb_level] < 9) // 회원의 접근 권한 조정 

echo "<script language='javascript'> alert('죄송합니다. 정회원만 이용하실 수 있습니다.');

javascript:history.go(-1); </script>"; 

exit; 

?>

aaaaaaaaa

 

=============================

방법4) 

<?php if($member['mb_level'] >= '3') { // 레벨3 이상 ?>

<li>

<a href="<?php echo G5_BBS_URL;?>/board.php?bo_table=tb2200"><i class="fa fa-envira"></i> <span class="hidden-xs"> 아영 </span></a>

</li>

<?php } ?> 

aaaaaaaaa

 

=============================

방법5) 

<? 

include_once('./_common.php');​ 

print_r2($member); 

$member = get_member($ss_mb_id); 

if ($member[mb_level] < 9 || $member[mb_id] == '') // 회원의 접근 권한 조정 

alert('죄송합니다. 정회원만 이용하실 수 있습니다​'); 

exit; 

}  

?> 

aaaaaaaaa

 

=============================

방법6) 

<? 

include_once("./_common.php"); 

if (!$is_member||($member[mb_level]<3)) {  

alert("회원레벨3이 아닙니다."); 

}  

?> 

aaaaaaaaa

 

=============================

방법7) 

<?

include_once('./_common.php');​

 

$member = get_member($ss_mb_id);

if ($member[mb_level] < 9 || $member[mb_id] == '') // 회원의 접근 권한 조정 

alert('죄송합니다. 정회원만 이용하실 수 있습니다​');

exit; 

}  

?>

aaaaaaaaa

 

=============================

방법8) 

<? 

if ($member['mb_level'] < 5) {

    if ($is_member)

        alert('글을 읽을 권한이 없습니다.', G5_URL);

    else

        alert('글을 읽을 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?url='.$urlencode);

}

?>

aaaaaaaaa

 

=============================

방법8) 

<?php 

include_once("../common.php"); 

?> 

 

<? if ($is_guest) { ?>

<script>

alert('권한이 없습니다');

location = '<?=G5_PATH?>/bbs/login.php';

</script> 

<? } ?>

aaaaaaaaa

 

=============================

방법9) 

<? 

if (!$member["mb_id"]){

 alert('로그인 후 접속하세요', '/bbs/login.php');

}

?> 

aaaaaaaaa

 

=============================

방법10) 

<? if ($is_guest) { ?> 

<script> 

alert('권한이 없습니다. 회원이시라면 로그인 후 이용해주세요.^^'); 

location = '/bbs/login.php'; 

</script> 

<? } ?> 

aaaaaaaaa

 

=============================

방법11) 

<? 

if ($member['mb_level'] < 3) {

    alert('권한이 없습니다.', G5_URL); 

}

?> 

aaaaaaaaa

aaaaaaaaa

 

=============================

방법12) 

<? if ($member['mb_level'] < 3) { ?>

<script>

alert('권한이 없습니다');

location = '<?=G5_PATH?>/bbs/login.php';

</script> 

<? } ?>

aaaaaaaaa

 

위와 같이 12가지를 다 적용해 보았습니다.

위의 소스중에서 차단이 되는 것도 있으나

관리자 및 통과할수 있는 레벨(예 레벨3) 이상도 

차단을 합니다. 즉, 로그인이 되어있든 없든 차단을 합니다.

 

로그인이 안되어 있을때는 차단하고, 

권한이 있는 레벨이 로그인 할때는 통과를 하게 하고 싶습니다

지도 부탁합니다. 감사합니다.^^

 

 

 

 

이 질문에 댓글 쓰기 :

답변 2


<?php
if(!$is_member) {
    alert("회원만","이동할페이지");
} else {
    switch($member['mb_level']) {
    case 2:
        alert("2레벨은 빠빠이", "이동할 페이지");
        exit;
    case 3:
        echo "3레벨은 환영이야";
        break;
    case 4:
        echo "4레벨도 환영이야. 나머지 레벨 안적어도 통과야";
        break;
    }
}
?>

그림자밟기님, 답변 감사합니다.

제가 폴더를 html 속에 넣어서 실행할시에는 적용이 됩니다.

 

그런데, 폴더/폴더/폴더/실행파일(.php)를 실행하면 안됩니다.

adm, bbs 같은 위치에 있으면 되고, 하위 폴더에 실행하고자 하는 

파일(.php)를 넣으면 안됩니다.

 

실행할 파일이 많이 있기때문에 adm, bbs 와 같은 위치에 놓으면 

너무 복잡할 것 같아, 하위 폴더에 넣어서 실행하고자 합니다.

위처럼 폴더/폴더/폴더/실행파일(.php)를 실행할 수 있나요.

감사합니다.

 

 

 

 

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

회원로그인

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