Skip to content

Global Configurations

JoungKyun Kim edited this page Jun 7, 2016 · 2 revisions

JSBoard 전체 설정 파일

##############################################################################

DATABASE Configuration

############################################################################## $db['server'] = ""; # DB address $db['user'] = ""; # DB login user $db['pass'] = ""; # DB login pass $db['name'] = ""; # DB name


mysql 접속을 위한 정보를 가진다.

 * server 는 mysql 의 호스트 주소를 지정한다.
 * user 는 database 에 접근을 할 mysql 의 user 이름을 지정한다.
 * pass 는 database 에 접근을 할 mysql 의 password 를 지정한다.
 * name 은 jsboard 가 사용할 mysql 의 database 이름을 지정한다.

> ```php
##############################################################################
#  게시판 기본 설정
##############################################################################
$board['title']    = "JSBoard";   # Board title
  • 웹브라우져의 타이틀바에 나올 문자열을 지정한다.
  • 이 지시자는 각 게시판 관리자에 이 변수가 존재하지 않을 경우를 대비해 존재한다.
  • 수정할 필요성은 거의 없다.

$board['width'] = "550"; # Board width


 * admin 에서 사용될 테이블의 길이를 지정한다.
 * 그냥 기본값으로 두면 된다.

> ```php
$board['tit_l']    = 42;          # Max lenth of subject field
  • 예비 지시자이다. 그냥 둔다.

$board['nam_l'] = 8; # Max lenth of writer field


 * 예비 지시자이다. 그냥 둔다.

> ```php
$board['perno']    = 10;          # Article number per page
  • 예비 지시자이다. 그냥 둔다.

$board['plist'] = 2; # Print page link number (x2+1)


 * 예비 지시자이다. 그냥 둔다.

> ```php
$board['uconf']    = 1;           # Permited to use configuration per user
  • 이 지시자는 각 게시판들의 설정파일을 사용가능하게 할것인지의 옵션이다.
  • 원래 1.x 대에서 사용하던 것인데 2.x 에서는 테마 기능 때문에 반드시 1로 설정이 되어 있어야 한다.
  • 미처 수정하지 못한 부분이다. :-)

$board['date_fmt'] = "Y.m.d"; # format of date


 * JSBoard 에서 사용할 날짜 표기 방식을 나타낸다.

> ```php
# period of cookie time (day value)
$board['cookie']   = 30;
  • 글쓰기를 할때 이름, 이메일, 홈페이지주소 가 지정한 기간동안 cookie 에 등록이 되어 자동으로 등록되게 한다.

Highlight of search string

$board['hl'] = "<FONT STYLE="text-decoration:underline;color;#000000;font-weight:bold;">STR";


 * 검색을 했을때 검색문자의 색상을 조정한다.

> ```php
# Table Align of board
$board['align']    = "center";
  • 게시판의 정렬상태를 지정한다. center, right, left 3가지중 하나를 선택할수 있다.

web path of installed jsboard

$board['path'] = "http://domain.com/jsboard/";


 * board['path'] 는 게시판이 설치되어 있는 웹 경로를 적어주도록 한다.
 * 웹 경로의 제일 마지막은 "/" 로 막혀 있어야 한다.


> ```php
##############################################################################
#  login mode Configuration
##############################################################################
# login variation name (This value must be modified as security problem)
$jsboard         = "login";
  • jsboard 의 로그인 변수이름이다.
  • 보안을 위해서 이 값을 수정하도록 한다.

Don't touch this line.

$jsboard = "jsboard".$jsboard;


 * 이 변수는 건드리지 않도록 한다.
 * 이 변수는 위의 $jsboard 변수가 JSBoard 에서 사용하는 변수와 겹칠때를 대비하여 겹치지 않도록 하는 변수이다.

> ```php
# location of default page after login
$print['dpage'] = "http://domain.com/jsboard/list.php?table=test";
  • 로그인을 한후에 뜰 페이지를 지정한다.
  • 꼭 jsboard 이어야 할 필요가 없다.

location of default page after logout

$print['dpage'] = "http://domain.com/jsboard/list.php?table=test";


 * 로그아웃 후의 페이지를 지정한다.
 * 이 변수는 전체 관리자에서 로그아웃을 하였을 때 사용이 된다.
 * 각 게시판 관리자에서 이 변수가 지정이 되어 있지 않을 경우에는 이 값이 사용되어 질 수 있다.

> ```php
##############################################################################
#  Theme Configuration
##############################################################################
# Theme Name
$print['theme']    = "KO-default";
  • admin 에서 사용할 테마를 지정한다.
  • 그냥 기본값으로 두도록 한다.

##############################################################################

UPLOAD Configuration

if value of $upload['yesno'] is 0, then all board disable upload

############################################################################## $upload['yesno'] = 1; # enable upload $upload['dir'] = "files"; # directory name of upload file $upload['maxsize'] = "2000000"; # upload max size


 * 업로드 관련 설정이다.
 * yesno
  * 업로드를 여부를 설정한다.
  * 0 으로 지정을 하면 모든 게시판에서 업로드가 불가능하다.
 * dir
  * 업로드될 파일들이 저장될 디렉토리를 지정한다.
  * 업로드된 파일들은 data/*/$upload['dir']/년월일시분초/upload_file.확장자 로 저장이 된다.
 * maxsize
  * 업로드가 가능한 최대 파일 사이즈를 byte 단위로 설정을 한다.
  * 이 값을 2M 이상으로 지정하기 위해서는 php.ini에서 다음의 값을 수정해 줘야 한다.

   ```ini
; post data로 넘어온 data의 용량 제한
post_max_size       = 8M

; script 수행 시간. 대용량 업로드 일 수록 시간이 길어질테니..
max_execution_time  = 600

upload_max_filesize = 2M

##############################################################################

Config of IP Blocking

if value of $board['useipbl'] is 0, then all board disable check ip blocking.

############################################################################## $board['useipbl'] = 0;


 * 접속하는 IP address 를 막는 기능의 사용여부를 결정한다.
 * 1 로 설정을 하면 IP 블러킹이 가능하다.
 * 만약 전체 게시판에 일률적으로 적용을 하고 싶다면, $board['ipbl'] 이라는 변수를 $board['userdhyper'] 아래에 지정을 해 준다.
  * $board['ipbl'] 은 다음과 같이 설정을 할 수 있다
   ```php
$board['ipbl'] = "192.168.1.1;192.168.10,10.";
  • 위의 같이 하나의 ip 를 지정할 수 있으며, 2번째와 3번째 처럼 class 를 설정 할수도 있다.
  • 각 설정의 구분은 ";" 문자로 한다. 공백문자는 없어야 한다.
  • 단, 이 변수를 활용할 때는 전체 게시판을 혼자 사용할 때만 사용하기를 권장한다.

##############################################################################

Control Access From Remote Hyper Link

if value of $board['usedhyper'] is 0, then all board disable check dhyper.

############################################################################## $board['usedhyper'] = 0;


 * 원격지에서 게시판을 링크했을 때 이 링크를 통해 접근을 하는 것을 제어 하는 기능의 사용 여부를 결정한다.
 * 무단 링크 방지 기능의 각 게시판별 사용 여부 결정
  * 0 으로 하면 각 게시판에서 사용하지 못한다.
  * 1 로설정을 하면 각 게시판에서 설정이 가능하다.
 * 만약 전체 게시판에 일률적으로 적용을 하고 싶으면, $board['dhyper'] 라는 변수를 $board['userdhyper'] 아래에 지정을 해 준다. $board['dhyper'] 는 다음과 같이 설정을 할 수 있다.

   ```php
$board['dhyper'] = "192.168.1.1;192.168.10,10.";
  • 위의 같이 하나의 ip 를 지정할 수 있으며, 2번째와 3번째 처럼 class 를 설정 할 수도 있다. 각 설정의 구분은 ";" 문자로 한다. 공백문자는 없어야 한다.
  • 단 이 변수를 활용할 때는 전체 게시판을 혼자 사용할 때만 사용하기를 권장한다.

$board['endhyper'] = 0;


 * $board['dyper'] 에 지정한 값만 막을 것인지 허락할 것인지를 결정한다.
  * 0 -> $board['dhyper'] 만 허락
  * 1 -> $board['dhyper'] 만 막음


> ```php
##############################################################################
#  Mail Configuration
##############################################################################
$rmail['uses']     = 1;
# MTA configuration
# no value            -> send mail with self method of JSBoard
# mail server address -> send mail with selected mail server
# WARN : windows version can't select self method of JSBoard
$rmail['mta']      = "127.0.0.1";
# charactor of converted mail address
$rmail['chars']    = "__at__";
  • 글을 등록했을 때 관리자에게 메일을 보내주거나 또는 답장을 올렸을 경우 원본글에 이메일이 등록되어 있을 경우 원본글을 올린 사람에게 메일을 발송하도록 하는 기능이다.

  • uses 를 0 으로 지정을 하면 각 게시판 설정에서 이를 설정해도 전혀 작동을 하지않는다. 메일 기능을 사용하지 않으려면 이 값을 0으로 지정하도록 한다.

  • $rmail['mta'] 는 JSBoard 가 메일을 발송할 방식을 선택을 한다.

  • 이 변수에 아무값도 지정을 하지 않으면 mail daemon 에 의존하지 않고 JSBoard 자체적으로 메일을 발송을 한다.

  • 사용할 수 있는 메일 데몬이 없을 경우 유용하게 사용을 할 수 있지만 단점은 mx record 를 찾아야 하므로 글 등록시 약간 속도 저하를 발생할 수 있다.

  • 또한, 자체 발송을 사용하고 싶지 않을 경우에는 메일을 발송할 서버의 주소를 직접 지정해 주면 된다.

  • 보통 JSBoard 가 설치되어 있는 서버에서 메일 데몬이 운영 중이거나 또는 설치가 되어있다면 간단하게 "localhost" 를 지정해 주면 된다.

  • 메일 서버가 독립되어 있을 경우 해당 메일서버의 주소를 지정해 주도록 한다.

  • 단, 외부 메일 서버를 지정할 경우에는 외부 메일 서버에서 JSBoard 가 설치되어 있는 서버에 대해 relay 가 풀려져 있어야 한다.

  • 무턱대고 외부 메일 서버를 지정할 수는 없다.

  • $rmail['chars'] 는 JSBoard 의 메일수집 기능방지에 사용되는 변수이다.

  • 이 변수는 JSBoard 에 메일주소를 남겼을 경우 메일 수집기가 메일주소를 긁어가지 못하도록 방지를 하기 위해 @ 을 위의 변수에 남긴 문자로 변형을 하게 된다. 즉 게시판에 email 주소를 남겼을 경우 JSBoard 는 다음과 같은 처리 과정을 거치게 된다.

  • $rmail['chars'] = "ON"; 이라고 지정 하고 [email protected] 이라는 메일 주소를 남겼을 경우의 링크

<a href="act.php?o['at']=m&target=aaa__ON__aaa.com">등록이름</a>
  • aaa__ON__aaa.com 으로 변형한다.
  • 다음 이 문자열을 act.php에서 처리를 하여 정상적으로 메일 주소가 사용될 수 있도록 처리를 한다.
  • 글 본문에 메일 주소 [email protected] 을 남겼을 경우 다음과 같이 처리가 된다.
<A href="act.php?o['at']=m&target=aaa__ON__aaa.com">aaa at aaa.com</a>
  • email 의 형태가 @ 을 기준으로 하여 보여지는 형태임을 감안해서 메일 수집기가 메일 형식을 추출하지 못하도록 방지를 하는 것이다.

  • $rmail['chars'] 를 따로 지정하는 이유는

  • 고정 되어 있을 경우 하나의 패턴으로 하여 메일 수집기가 제작이 될 수 있으므로 변경을 하여 패턴을 만들지 못하게 하기 위함이다.

  • $rmail['chars'] 를 지정함에 있어서는 일반문자열과 혼동이 되지 않도록 독특한 특수문자를 지정하는 것을 권장한다.

##############################################################################

Preview article contents

############################################################################## $list['pre'] = 1; # enable preview $list['preren'] = 100; # if enable preview, lenth of contents


 * 글리스트에서 해당 글에 마우스를 가져가면 본문 내용중 일부를 미리 보여주는 기능이다.
 * 사용하지 않으려면 pre 를 0 으로 지정을 한다.
 * preren 은 몇 글자까지를 보여줄지를 지정한다.

> ```php
##############################################################################
#  If registed article as follow information, requried passwd of super user
##############################################################################
$compare['name']   = "쥔장";
$compare['email']  = "[email protected]";
  • 로그인 모드가 아닐 경우 사용
  • name 에 지정된 이름이나 email 에 지정된 메일 주소로 글을 등록할 경우 전체 관리자의 패스워드를 요구하도록 한다.