비공개 홈페이지 만들때....
본문
게시판은 회원 권한을 설정하면 되는데...
일반 html 페이지에도 그누보드 권한을 설정하고 싶은데...
방법이 있을까요?
답변 5
html파일이 루트에 있다고 가정했을때
해당파일 최상단에 아래같이 추가하세요.
<?php
include_once('./_common.php');
if(!$is_member) {
alert("로그인 후 이용가능합니다.", G5_BBS_URL."/login.php?url=".$_SERVER['PHP_SELF']);
exit;
}
if($member['mb_level'] < 10){//해당 레벨은 원하시는 접근레벨로 수정하세요.
alert("접근 권한이 없습니다 / level.", G5_BBS_URL);
exit;
}
?>
가장쉬운방법은
/extend/user.config.php 파일이 준비되어있습니다.
이곳에
if (!$is_member)
header("Location: /bbs/login.php");
를 적용하면되는데
문제는 login_check.php도 login.php로 보내버린다는점이죠
$_SERVER['PHP_SELF']; 에는 현재 접속페이지(구동되는) 정보가 있습니다.
약간 보강하면
if ($_SERVER['PHP_SELF'] != '/bbs/login_check.php' && !$is_member)
header("Location: /bbs/login.php");
로 추가해보세요
뭔가 더 예외를 걸만한 페이지를 만나면
로직을 일부변경해서 추가해보시면
로그인해야만 접근되는 사이트로 변신될겁니다.
진행이 이상할경우 위의 코드를 막고
echo $_SERVER['PHP_SELF']; 해서 확인하면서 해보세요
레벨을 적용하는 쿠키값이 존재 합니다.
그것을 가져와서 if 문을 작성 하는방법 하나
그 게시판에 아마 레벨을 재한 하는 함수를 만들어 놨을겁니다.
그것을 찾아서 적용 하세요
특정 몇몇 분들이 사용하고 아이피가 고정 되어 있다면 이런 방법도 가능합니다.
<?
$ip_address = $_SERVER['REMOTE_ADDR'];
if(!$ip_address == '원하시는 아이피 주소'){
?>
<script>
alert('접속 하시는 ip 대역에서는 접근이 불가능합니다.
history.back();
</script>
<?
}
?>
답변주신 모든 분들 감사합니다. ^^
답변을 작성하시기 전에 로그인 해주세요.