Member Guide

아미나빌드 멤버 가이드

홈 > 회원포럼 > 회원가이드
회원가이드

그누보드/아미나 이해하기 #1 - dbconfig와 데이터베이스

7 Autempt 5 389 8

아미나빌더를 제대로 써먹기 위해선 그누보드에 대한 이해가 필요합니다.

그누보드의 다른 빌더들을 사용해보신 분들은 아마 알고계시리라 생각합니다.

하지만 아미나 빌더와 그누보드를 처음 사용하시는 분들에게 있어 다소 생소한 이름일텐데요.

오늘은 서버이전을 위해서 반드시 이해해야하는 dbconfig.php에 대해서 알아보겠습니다.


1. dbconfig.php와 데이터베이스 설정


그누보드 설치단계에서 그누보드는 data 디렉토리의 퍼미션이 파일을 작성가능한 수준이 되도록 요구하고 있습니다.

이 data 디렉토리에 생성되는 파일 중 하나가 가입단계에서 기입한 DB정보를 담은 dbconfig.php입니다.

물론 DB의 계정정보를 담고있는 만큼, 이 dbconfig.php는 보안에 있어서 가장 중요한 파일입니다.

dbconfig.php를 노출하는 취약점이 존재한다면 위험하다는 소리이기도 합니다.


dbconfig.php를 편집하면 다음과 같은 내용을 볼 수 있습니다.


define('G5_MYSQL_HOST', 'localhost');

define('G5_MYSQL_USER', 'DB 아이디');

define('G5_MYSQL_PASSWORD', 'DB 패스워드');

define('G5_MYSQL_DB', 'DB Schema');

define('G5_MYSQL_SET_MODE', true);


define('G5_TABLE_PREFIX', '그누보드 접두어(g5_ 사용을 권장)');


만약 호스팅업체의 호스팅을 사용하시는 경우에 DB 아이디, DB 패스워드, 일부의 경우엔 DB Schema 역시 바뀌는 상황이 있습니다.

그런 경우 dbconfig.php에서 해당 항목들을 알맞게 변경해주시면 됩니다.


※ 서버이전시에는 data 디렉토리의 퍼미션을 반드시 확인해주세요.

※ data 디렉토리에 파일을 생성가능한 수준의 퍼미션이 아닐경우 웹사이트 내 파일 업로드가 정상적으로 이루어지지 않습니다.


2. dbconfig.php 경로 설정


dbconfig.php 파일은 보안에 있어 가장 중요한 파일인만큼 가능하다면 위치, 혹은 이 파일의 정보를 숨길 수 있는게 좋습니다.

그누보드는 오픈소스이고, 그 위치에 대해서는 모두에게 노출되어있습니다.

외주를 통해 웹사이트를 작업받으신 경우에, 이 부분에 대해서 보안작업을 해놓으신 분도 여럿 보았습니다.

이 부분에 대해서 몇가지 소소한 팁을 드리고자 합니다.


/common.php


//==============================================================================

// 공통

//------------------------------------------------------------------------------

$dbconfig_file = G5_DATA_PATH.'/'.G5_DBCONFIG_FILE;


G5_DATA_PATH는 data 디렉토리의 위치를 저장한 변수입니다.

위 코드에서 문자열 부분의 내용을 변경하면 data 폴더 안의 특정한 폴더에 존재하는 dbconfig.php를 읽어내게 됩니다.


//==============================================================================

// 공통

//------------------------------------------------------------------------------

$dbconfig_file = G5_DATA_PATH.'/datafile/'.G5_DBCONFIG_FILE;


위의 코드는 data 디렉토리 내의 datafile이라는 디렉토리에서 dbconfig.php를 불러오는 코드입니다.

이렇게 변경한다면 datafile내에 dbconfig.php를 위치해두었을 경우에만 웹사이트는 정상적으로 동작하게 됩니다.

만약 data 디렉토리 이외의 장소에 dbconfig.php를 위치하게 하려면 어떻게 해야할까요.


//==============================================================================

// 공통

//------------------------------------------------------------------------------

$dbconfig_file = G5_PATH.'/datafile/'.G5_DBCONFIG_FILE;


G5_DATA는 그누보드가 설치된 디렉토리를 저장한 변수입니다.

위 코드는 data 디렉토리와 같은 경로에 위치한 datafile 디렉토리 안에서 dbconfig.php를 불러오게 됩니다.

PHP에 대한 이해가 있으신 분이라면, dbconfig.php의 내용이나 dbconfig.php의 경로를 변수로 바꾸어 더욱 치밀하게 숨기는게 가능하겠죠.


※ common.php는 업데이트가 자주 있는 파일이므로, 업데이트시 꼭 내용을 변경해주세요.

※ dbconfig.php의 내용들을 변수로 숨긴다면 업데이트시의 번거로움을 줄일 수 있습니다.



  •  그누보드/아미나 이해하기 #1
  •  재밌게 보셨다면 추천 부탁드립니다.
  •  후원하기(ETC) - 0x588ce44e5d2be2dc1d527f785d95bc455a6ebc93

5 Comments
3 perzle 04.20 02:43  
좋은정보 감사합니다^^
1 강디 04.20 12:23  
좋은정보 감사합니다!
17 사노라면 04.20 15:46  
감사합니다

Congratulation! You win the 8 Lucky Point!

13 잊지말자 04.20 16:02  
아 좋은정보 정말 감사합니다.
10 버즈라이토 04.20 16:45  
유익한 정보 감사드립니다.
제목
최근 글
최근 댓글
Facebook Twitter GooglePlus KakaoStory NaverBand