답변 5개
html파일이 루트에 있다고 가정했을때
해당파일 최상단에 아래같이 추가하세요.
</p>
<p><?php</p>
<p>include_once('./_common.php');</p>
<p>if(!$is_member) {
alert("로그인 후 이용가능합니다.", G5_BBS_URL."/login.php?url=".$_SERVER['PHP_SELF']);
exit;
}</p>
<p>if($member['mb_level'] < 10){//해당 레벨은 원하시는 접근레벨로 수정하세요.
alert("접근 권한이 없습니다 / level.", G5_BBS_URL);
exit;
}</p>
<p>?></p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
가장쉬운방법은
/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']; 해서 확인하면서 해보세요
댓글을 작성하려면 로그인이 필요합니다.
특정 몇몇 분들이 사용하고 아이피가 고정 되어 있다면 이런 방법도 가능합니다.
</p>
<p><?</p>
<p><span class="token variable">$ip_address</span> <span class="token operator">=</span> <span class="token global">$_SERVER</span><span class="token punctuation">[</span><span class="token single-quoted-string string">'REMOTE_ADDR'</span><span class="token punctuation">]</span><span class="token punctuation">;</span></p>
<p><span class="token punctuation">if(!$ip_address == '원하시는 아이피 주소'){</span></p>
<p>?></p>
<p><script></p>
<p>alert('접속 하시는 ip 대역에서는 접근이 불가능합니다.</p>
<p>history.back();</p>
<p></script></p>
<p><?</p>
<p>}</p>
<p><span class="token punctuation">?></span></p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인