db만 include
본문
그누보드 안에서
db connect 파일만
include 하려면
어떻게 해야 하나요?
레이아웃은 필요없고,
db 연결만 필요한데..
아래 처럼 db파일 하나 만들어서 연결하면
보안상 문제가 될까요?
<?php
$link = mysql_connect('localhost', 'id', 'pw');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
답변 3
DB 관련된 내용 및 각종함수 라이브러리는
G5_PATH 를 / 라고 한다면
/common.php 파일에 실제로 존재하고
config.php 파일에 환경파일들을 선언해두었습니다.
/data/dbconfig.php 파일에 database 명 / id /pw 들이 명시되고
$g5[ ] 배열에 대한 선언들이 들어갑니다.
각 경로에서 /common.php 을 include 해야 하는데
상대경로로 접근해야해서
공통적으로
_common.php 파일을 만들어두고
모든 파일은 각 상대경로의 파일들위치에서
_common.php 만 include 하면 db정보 라이브러리 들을 사용할수있습니다.
_common.php 파일의 내용은 위치별로 달라집니다.
/bbs/
/adm/
/skin/
과 같이 / 바로 아래에 위치한 곳에서는
상대경로로
<?php
include_once("../_common.php");
?>
이렇게 들어가 있을겁니다.
/skin/board/basic/ 에 위치한 _common.php 파일에는
<?php
include_once("../../../_common.php");
와 같을것이죠
즉, 파일의 존재하는 위치에서 얼마나 상위경로로 올라가야
/하위의
_common.php 파일을 바라보는가 입니다.
/_common.php 에는
결국
inlucde_oncd(" ./common.php");
와 같이 되어있는 이유입니다.
파일을 구성하실때
내가 현재 만드는 파일의 디렉토리 위치에서 어떻게 접근할지 감을 잡고 _common.php 를 존재하는지 확인후 include 하시면 됩니다.
로
그누보드에 디비연결 부분만 사용하려면 걸러내야 될것들이 많습니다. 연결하는건 위와 같이 하셔도 보안상에 문제될건없습니다.
해당 레이아웃은 제하지만 그누보드에 사용되어지는 함수 부분까지 사용가능한
include_once('./_common.php');
함수 부분을 사용하시면 사용면에서 회원 세션이나 관련 그누보드 참조 함수나 쿼리부분을 동일하게 사용이 가능합니다.