페이지관련하여 질문드려요^^
본문
https://sir.kr/g5_tip/3022?sfl=wr_subject%7C%7Cwr_content&stx=%ED%8E%98%EC%9D%B4%EC%A7%80&page=4
팁내용중 페이지 만드는 팁내용이 위 링크에 있는데요
위에 페이지설정이 아닌
제가 따로 include하여 페이지를 만들게 된다면 보안상 안좋은건가요?
페이지를 하나 임의로 만들어 include 하여
탭형식으로 만들고 싶어서 여쭤봐요~!
그리고 상단에 아래 두가지 함수의 차이점이 알고싶어요
<?php
include_once('./_common.php');
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
답변 3
개별로 include하여 사용하면 그누보드 기본 기능을 사용할 수 없기 때문에 그누보드 기본 페이지 만드는 형식에 따르는 것이 좋습니다.
include_once('./_common.php');는 그누보드 공통 변수, 상수, 코드 를 사용하기 위해 공통적으로 불러옵니다.
if (!defined('_GNUBOARD_')) exit; 는 공개된 메인을 통해 정상적으로 접근하게 하기 위해 공개되지 않은 개별 페이지를 통한 접근하지 차단합니다.
include_once 이부분은 _common.php 파일을 호출하는것이고
defined('_GNUBOARD_'); 이부부분은 _GNUBOARD_ 상수에 값이 선언되어있는가 확인하는것입니다.
보통 그누보드에서는 _common.php 는 그누보드 설치경로/common.php 를 호출하는역활이고 그안에 서
config.php 파일을 불러오고 그안에 _GNUBOARD_ 값을 설정합니다.
페이지를 직접만들건 위 팁대로 만들건 보안과는 연관성은 없고 운영상에 차이점이 있습니다.
include 를 할 경우.
G5_**** 나 $g5 나 그누보드 라이브러리 등을 이용 할 수 있으며,
defined를 이용해서 체크 할 경우에는 common을 include 한 특정 페이지에서 서브페이지를 인크루드할때
이용합니다.
예를 들면 스킨등이 되겠지요?
/bbs/list.php 는 /skin/board/basic/list.skin.php 를 인크루드 하듯이요