레벨에 따른 페이지 접근 설정에서 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

레벨에 따른 페이지 접근 설정에서 정보

레벨에 따른 페이지 접근 설정에서

본문

문서 접근 권한을 제한하기 위하여
아래와 같은 문구 - 디노님의 팁 - 를 삽입하였더니
로그인없이 클릭하자
아무런 반응도 없이 빈페이지로 넘어가더라구요.

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "STYLE");
if ($member[mb_level] < 5)  // 회원의 접근 권한 조정
{
    echo "<script language='javascript'> alert('죄송합니다. 정회원만 이용하실 수 있습니다.'); window.close();
    javascript:history.go(-1);  </script>";
    exit;
 }
// ^^;~~~~~~~~~~~~~~~~
 ?>

제가 가지고 있는 페이지는

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

$sql_common = " from $g4[board_table] a where (1) and bo_use_search = '1' ";

$sql = " select count(*) as cnt $sql_common";
$row = sql_fetch($sql);
$total_count = $row[cnt];

$sql = " select * $sql_common";
$result = sql_query($sql);

$g4[title] = "모임회칙";
include_once("$g4[path]/head.php");
?>

내용

<?
include_once("$g4[path]/tail.php");
?>

요런식으로 꾸며져 있습니다.

그래서 디노님의 팁을 맨 위에다 올려놓았거든요.

답변 주시는 분 감사합니다.
  • 복사

댓글 전체

if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

원인 : 삭제하지 않으면 내용이 출력되지 않음.
해결 : 삭제필요

-. 사용처 : if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
  g4에서 연동되는 소스와 연계되며,
  절대 개별실행되어서는 안되는 파일을 처리한다.
  예를 들어 회원 포인트 내역(회원 이메일 등의 정보를 담고 있는 소스파일이라고 가정...)이나,
  여타 해당 소스파일의 경로를 외부사용자가 알고 있다면,
  불법적으로 접근을 시도하며, 노출된 정보를 불법적으로 사용할 수 있음.
  (예;음란성 스팸메일 등...)
회원 레벨을 체크하는 페이지라 할지라도,
DB의 정보를 끌어다 쓰는 경우 if (!defined("_GNUBOARD_")) exit;와 같이
소스파일 최상단에 기재해줘야만 하는 경우도 있고,
기재하지 않아야 사용자가 의도하는 대로 출력되는 것도 있습니다.

//좋은이
질문하신 내용은 구체적으로 구현하려는 페이지의 성격에 따라,
또한 첨부시킬 파일의 종류에 따라 세부적인 답변도 달라지는 질문이 됩니다.

질문내용에 포함된 소스코드는,
그 자체로 어떠한 실행결과를 웹페이지에 직접 출력해주는 파일이 아니라,
특정 파일에 첨부되는 형태로 그 기능을 발휘하는
이른바 내부적인 기능을 지원하는 소스코드입니다.

따라서...
당연히 그 자체로는 출력결과는 없겠지요.
4버전이므로 아래의 부분만 첨가하면 될 것을 앞의 문서타입을 지정하는 것까지 함께했더니
아무것도 안뜨더라구요.
암튼 아래의 문구만 삽입하여 해결하였습니다.
감사합니다.

if ($member[mb_level] < 5)  // 회원의 접근 권한 조정
{
    echo "<script language='javascript'> alert('죄송합니다. 정회원만 이용하실 수 있습니다.'); window.close();
    javascript:history.go(-1);  </script>";
    exit;
 }
// ^^;~~~~~~~~~~~~~~~~
© SIRSOFT
현재 페이지 제일 처음으로