config file 에 대한 설명
작성: 2002.3.2

목차

1. 전체 설정 파일 (config/global.php)
2. 각 게시판 설정파일 (data/*/config.php)
3. admin mode 의 GLOBAL 설정



1. 전체 설정 파일 (config/global.php)
   --------------------------------


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

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

server 는 mysql 의 socket file 경로를 적어준다. mysql 의 소켓파일 경로는
mysql_config --socket 명령을 실행하면 알수 있다. 또는 netstat -anp | grep mysql
로도 알수가 있다. 경로를 적어 줄때는 경로 제일 앞에 ":" 를 붙여서 지정해 준다.
예) :/var/lib/mysql/mysql.sock

user 는 database 에 접근을 할 mysql 의 user 이름을 지정한다.
pass 는 database 에 접근을 할 mysql 의 password 를 지정한다.
name 은 jsboard 가 사용할 mysql 의 database 이름을 지정한다.


##############################################################################
#  게시판 기본 설정
##############################################################################
$board[title]    = "JSBoard";   # Board title

웹브라우져의 타이틀바에 나올 문자열을 지정한다. 이 지시자는 각 게시판
관리자에 이 변수가 존재하지 않을 경우를 대비해 존재한다. 수정할 필요성은
거의 없다.

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

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

$board[tit_l]    = 42;          # Max lenth of subject field

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

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

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

$board[perno]    = 10;          # Article number per page

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

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

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

$board[uconf]    = 1;           # Permited to use configuration per user

이 지시자는 각 게시판들의 설정파일을 사용가능하게 할것인지의 옵션이다.
원래 1.x 대에서 사용하던 것인데 2.x 에서는 테마 기능 때문에 반드시 1로
설정이 되어 있어야 한다. 미처 수정하지 못한 부분이다. :-)

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

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

# 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</FONT>";

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

# Table Align of board
$board[align]    = "center";

게시판의 정렬상태를 지정한다. center, right, left  3가지중 하나를 선택할수 있다.

# web path of installed jsboard
$board[path]  = "http://domain.com/jsboard/";

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


##############################################################################
#  Anti Spam Configuration
##############################################################################
$board[antispam] = "21768:46:77";

이 설정은 시중에 돌아다니는 게시판 스팸등록기를 막기 위한 설정이다. 이 설정
으로 왠만한 스팸 등록기는 막을 수 있을 것이다. 꼭 설정 하도록 한다. 설정 방
식은 "VALUE1:VALUE2:VALUE3" 의 3가지 값을 넣으며, 각 값들은 ":" 문자로 구분
을 한다. VALUE1 은 5 자리 이상의 수를 지정하라. VALUE2 와 VALUE3 은 2자리의
수를 지정하도록 한다. 절대 기본값을 사용하지 말고 변경하기 바란다. 기본값을
사용한다면 아마 등록기에서 기본값을 사용하리라 생각하고 이 것을 처리할 수도
있기 때문이다.


##############################################################################
#  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 에서
사용하는 변수와 겹칠때를 대비하여 겹치지 않도록 하는 변수이다.

# 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";

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

##############################################################################
#  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 의

post_max_size       = 8M

post 값으로 넘어온 data의 용량 제한

max_execution_time  = 30

대용량일 경우 수행 시간이 길어지겠죠.. ^^ 그러니 늘려줘야..

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] 은 다음과 같이 설정을
할 수 있다

$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] 는 다음과 같이 설정
을 할 수 있다

$board[dhyper] = "192.168.1.1;192.168.10,10.";

위의 같이 하나의 ip 를 지정할 수 있으며, 2번째와 3번째 처럼 class 를 설정 할
수도 있다. 각 설정의 구분은 ";" 문자로 한다. 공백문자는 없어야 한다.

단 이 변수를 활용할 때는 전체 게시판을 혼자 사용할 때만 사용하기를 권장한다.

$board[endhyper] = 0;
$board[endhyper] 는 $board[dyper] 에 지정한 값만 막을 것인지 허락할 것인지
를 결정한다.

0 -> $board[dhyper] 만 허락
1 -> $board[dhyper] 만 막음


##############################################################################
#  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__"; 이라고 지정 하고 aaa@aaa.com 이라는 메일 주소를 남
겼을 경우의 링크

<A HREF=act.php?o[at]=m&target=aaa__ON__aaa.com>등록이름</A>

와 같이 출력된다. 즉 aaa__ON__aaa.com 으로 변형한 다음 이 문자열을 act.php에
서 처리를 하여 정상적으로 메일 주소가 사용될 수 있도록 처리를 한다.

또한 글 본문에 메일 주소 aaa@aaa.com 을 남겼을 경우 다음과 같이 처리가 된다.

<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 은 몇글자까
지를 보여줄지를 지정한다.


##############################################################################
#  If registed article as follow information, requried passwd of super user
##############################################################################
$compare[name]   = "쥔장";
$compare[email]  = "user@localhost.com";

로그인 모드가 아닐경우 name 에 지정된 이름이나 email 에 지정된 메일 주소로
글을 등록할 경우 전체 관리자의 패스워드를 요구하도록 한다.












2. 각 게시판 설정
   --------------

각 게시판 설정은 각 게시판의 admin page 에서 설정을 하면 된다. 여기서는
그냥 각 옵션들의 값이 무엇을 나타내는지만 보여줄 것이다.


###############################################################################
#  게시판 관리 모드
#   ad   -> 게시판 관리자 id
#   mode -> 게시판 관리 모드
#           0 -> 공개 게시판
#           1 -> 공지 게시판 (admin only write)
#           2 -> 회원 전용 게시판
#           3 -> 회원 전용 공지 게시판 (admin only write)
#           4 -> 공개 게시판 (read, reply only)
#           5 -> 회원 전용 게시판 (read, reply only)
#           6 -> 공개 게시판 (reply only admin)
#           7 -> 회원 전용 게시판 (reply only admin)
###############################################################################
#
$board[ad] = "@ADMIN@";

이 변수는 게시판 관리를 할 유저를 지정한다. 여러명을 지정할 경우에는 ";" 문자
를 이용하여 띄어쓰기 없이 유저의 ID 를 지정해 주면 된다. 예를 들어

$board[ad] = "nana;uri;test";

와 같이 지정을 할 수 있다.

$board[mode] = 0;

JSBoard 2.0 부터는 로그인 기능을 제공한다. JSBoard 인증 관련 모드는

0 : 공개 게시판

로그인을 안해도 상관이 없지만 admin 로그인을 했을 경우에는 인증이 필요없음.

1 : 공개 게시판(공지전용)

admin 인증을 하지 않는한 로그인을 하든 말든 read 만 가능함. admin 의 경우 모든
기능을 사용가능

2 : 로그인 게시판

로그인시 모든 기능 사용가능. 수정,삭제에 한해서는 자신의 글만 가능(admin 의 경
우 제한 없음)

3 : 로그인 게시판(공지전용)

로그인시 읽기만 가능. admin 에게만 모든 권한이 있음.

4 : 공개 게시판(읽기와 답장, 그리고 자기글만 삭제 가능)

admin 로그인 시에만 쓰기가 가능함. 읽기 댓글은 누구나 가능. 그 외에는 패스워드
로 수정 삭제가 가능함.

5 : 로그인 게시판(읽기와 답장, 그리고 자기글만 삭제 가능)

admin 로그인 시에만 쓰기가 가능함. 읽기와 댓글은 로그인을 한 유저들만 가능. 그
외에는 자신의 글만 수정 삭제 가능.

6 : 공개 게시판(관리자만 답장 가능)

admin login 시에만 답장이 가능함. 나머지는 모두 가능

7 : 로그인 게시판(관리자만 답장 가능)

admin login 시에만 답장이 가능함. 나머지는 login user 들만 모두 가능

# 로그인 모드시에 이름 출력을 실명으로 할지 Nickname 으로 할지 결정
# 이 변수값이 설정이 안되어 있으면 Nickname 으로 출력
$board[rnname] = 0;

로그인 모드로 게시판을 사용할 경우 이 변수의 값이 1 이면 게시판에서 사용되는
이름은 nickname 이 아니라 real name 을 출력한다. 기본값은 nick name 이 출력하
도록 되어 있다.

# 로그아웃 후에 이동할 페이지를 지정
$print[dopage] = "http://domain.com/jsboard/list.php?table=test";

로그아웃 후의 페이지를 지정한다. 이 변수가 지정이 되어 있지 않을 경우에는
global.php 에서 지정된 $print[dopage] 값을 받으며, global.php 에서도 이 변수
가 지정이 되어 있지 않을 경우에는 로그인 페이지로 이동을 한다.


###############################################################################
#  게시판 허가 설정
###############################################################################
#
# 미리보기 설정
#
$enable[pre]     = 0;           # 미리 보기 허가
$enable[preren]  = 200;         # 미리 보기 허가시 글 길이


리스트 화면에서 글 내용 미리 보기 설정이다. 전체 어드민 설정에서와 동일하다.


#  답장시 원본글 포함을 선택사항으로 설정
#
$enable[ore] = 0;               # 0 - 무조건 출력  1 - 선택사항

답장을쓸 경우 글쓰는 란에 원본글의 내용이 들어가 있도록 할지 아니면 나타나지
않도록 하지의 설정이다. 0 을 지정하면 무조건 들어가며, 1을 선택하면 글쓰기 버
튼 옆에 글 포함여부를 선택할수 있도록 한다.


#  글읽기에서 관련글이 있을 경우 관련글 리스트를 보여줄지 여부 설정
#
$enable[re_list] = 1;           # 0 - 보여주지 않음 1 - 보여줌

해당글에 댓글이 존재할 경우 해당글 하단에 그 리스트를 보여줄지 여부를 결정
한다.

# 커멘트 기능 사용여부
#
$enable[comment] = 1;           # 0 - 보여주지 않음 1 - 보여줌

커멘트 기능 사용여부이다. 이 기능은 2.0pre4 부터 새로 추가된 기능이다.



###############################################################################
#  게시판 정렬 상태를 설정
###############################################################################
#
$board[align] = "center";       # <DIV align="center">


게시판 테이블의 정렬상태를 지정한다. center, right, left 중에 하나를 선택한다.


###############################################################################
#  게시판 기본 설정
###############################################################################
#
$board[title] = "Test BOARD";   # 게시판 제목

웹브라우져 상단의 타이들바에 나타날 문자열을 지정한다. html 의 <TITLE> tag
에 들어갈 문자열이다.

$board[wrap]  = 1;              # 본문 길게 늘어지는것 방지

1 로 지정을 하면 글쓰기 폼의 끝에서 무조건 enter 문자열을 넣게 된다. 0 으로
선택하면 엔터를 치기 전까지는 계속 한줄로 출력이 된다.


$board[wwrap] = 120;            # $board[wrap]이 적용안될시 강제 적용

일부 wrap 이 적용이 안되는 브라우져가 존재하기 때문에 이들 브라우져에서 등
록을 할 경우 강제로 자를 문자열의 수를 지정한다. 단 띄어쓰기 없이 쭈욱 등
록했을 경우에는 이 변수는 영향을 주지 못한다.


$board[width] = "550";          # 게시판 너비
$board[tit_l] = 42;             # 제목 필드 최대 길이
$board[nam_l] = 8;              # 글쓴이 필드 최대 길이
$board[perno] = 10;             # 페이지 당 게시물 수

한페이지에 몇개의 글을 보여줄지를 결정한다.

$board[plist] = 2;              # 페이지 목록 출력 갯수 (x2+1)

이 지시자는 게시판 하단의 페이지 링크의 갯수를 지정한다. 그냥 쓰면 된다.

# 쿠키 기간 설정 (日)
$board[cookie] = 30;

전체 어드민에서의 cookie 설정과 동일하다. 그냥 두면 된다.


###############################################################################
#  호스트 정보 출력 설정 0 - Failed, 1 - True 
###############################################################################
#
$enable[dhost] = 0;             # IP address 출력 여부(상단 메뉴 출력 안할시)

글 등록자의 IP 주소를 보여줄지 여부를 결정한다.

$enable[dlook] = 0;             # DNS lookup 여부

글 등록자의 주소를 보여주게 설정했을 경우 해당 ip의 domain 값을 찾을수 있으면
domain 으로 표시를 하게 해 준다. 다만 이 값을 1로 설정했을 경우 요즘처럼 인버
스 도메인 설정이 잘 안되어 있는 경우 게시판이 상당히 느려질수 있으므로 이 값을
0으로 지정하기를 권장한다.

$enable[dwho]  = 0;             # WHOIS 검색 여부

글 등록자의 주소를 보여주게 설정했을 경우 해당 주소의 정보를 찾을수 있도록
링크를 한다.


###############################################################################
#  Theme Configuration
###############################################################################
#
$print[theme] = "EN-default";   # Theme 이름 

해당 게시판에 사용할 테마를 선택하도록 한다. jsboard/theme 에 있는 디렉토리
이름을 직접 적든지 아니면 게시판 관리자에서는 jsboard/theme 에 등록되어 있는
디렉토리 목록을 모두 뿌려주게 되어 있다.


###############################################################################
#  file upload 관련 설정
#  전체 관리자가 허락 하지 않으면 여기서 yes를 선택해서 이기능도 사용할수 없다
###############################################################################
#
$cupload[yesno] = 0;            # upload 사용 여부

파일 업로그 사용여부를 결정한다. 만약 전체 관리자에서 허가를 하지 않는다면
여기서의 설정은 무용지물이다.

$cupload[dnlink] = 0;           # 0: 헤더를 통해 1: 다이렉트 링크

첨부파일의 링크를 파일을 직접 링크할 것인지 아니면 헤더를 통해 다운로드하게
할 것인지를 결정하게 된다. 0 을 지정하면, unknown mime type 을 보내, 무조건
다운로드 되게 한다. 0 으로 지정이 되어 있다고 하더라도, 5M 이상의 파일은 다
이렉트 링크가 되게 된다. 다운로드시 헤더를 통해 다운도르를 할 경우, 헤더를
보내기전 첨부파일을 모두 읽어들어야 하므로, 서버 부하가 예상되기 때문이다.


###############################################################################
#  url,email 사용 여부 설정
###############################################################################
#
$view[url]      = 1;
$view[email]    = 1;

글쓰기시에 홈페이지와 이메일 등록칸을 보여줄지 여부를 결정한다.


###############################################################################
#  mail 발송 여부 설정
#  전체 관리자의 기능 on에 의해 사용을 할수 있다
###############################################################################
#
$rmail[admin]   = 0;
$rmail[user]    = 0;
$rmail[toadmin] = "user@localhost";     # 메일을 받을 게시판 관리자의 메일 주소

등록한 글을 메일로 보내주는 기능을 한다.

admin 은 글을 등록하였을 경우 admin 에게 메일을 보내주도록한다. 이 것을 1로
선택을 하면 toadmin 에 메일을 받을 주소를 지정해 줘야 한다.

user 는 댓글을 달 경우 원본글을 쓴 사람에게 댓글을 답장의 형식으로 메일을 보낸다.
단 원본글을 쓴 사람이 메일주소를 남겨 놓아야 한다.

toadmin 은 admin 을 1로 설정 했을 경우 받을 메일 주소를 지정한다. admin 의 값이
0일 경우에는 설정할 필요가 없다.


###############################################################################
#  아래의 정보를 사용하여 글 등록시 관리자의 password를 요구
###############################################################################
#
$ccompare[name]  = "관리자";
$ccompare[email] = "username@domain.com";

name 에 등록된 이름과 email 에 등록된 email 을 이용하여 글을 등록할 경우 관리자
의 패스워드를 요구하게 된다.


###############################################################################
#  IP Blocking 기능
#  설정값의 구분자는 ';' 로 한다.
#  설정 예) 1.1.1.1;2.2.2.2;3.3.3.3
###############################################################################
$enable[ipbl] = "";

접근을 막을 ip address 를 지정을 한다. 아무값도 지정되어 있지 않으면 작동을 하
지 않는다. ipbl 의 설정은 ip  address 로만 가능하며,  class 단위의 설정이 가능
하다.  만약 192.168.1.0 의 C class 에서의 접속을 설정하고 싶다면, 192.158.1 또
는 192.168.1. 으로 할 수가 있다. class 단위의 설정은 A class 까지 가능하며, 한
클래스의 서브넷 까지는 불가능 하다.  예를 들어 192.168.1.0/26 이런 것은 불가능
하다는 얘기이다.


###############################################################################
#  dhyper : 0 -> 등록된 값만 허락
#           1 -> 등록된 값만 막음
#           plink 가 없을 경우에는 작동 안함
#  plink  : dhyper 가 작동할 ip 주소. ';' 를 구분자로 사용
#  설정 예) 1.1.1.1;2.2.2.2;3.3.3.3
###############################################################################
#
$enable[dhyper] = 0;
$enable[plink]  = "";

plink 에 등록이 되어있는 주소에 대한 제어를 한다. dhyper 가 0 의 값이나 또는 변
수가 할당되어 있지 않을 경우에는 plink 에 등록이 되어 있는 주소들에 대해서만 링
크를 허락한다. dhyper 를 1 로 지정하면, 등록된 주소에 대해서만 링크를 하는 것을
허락하지 않는다. plink 에 등록된 주소가 없을 경우에는 dhyper 는 무시되며, 이 기
능은 작동하지 않는다.

plink 의 설정은 ip  address 로만 가능하며,  class 단위의 설정이 가능하다.  만약
192.168.1.0 의 C class 에서의 접속을 설정하고 싶다면, 192.158.1 또는 192.168.1.
으로 할 수가 있다. class 단위의 설정은 A class 까지 가능하며,  한 클래스의 서브
넷 까지는 불가능 하다.  예를 들어 192.168.1.0/26 이런 것은 불가능 하다는 얘기이
다.


3. admin mode 의 GLOBAL 설정

OOPS administration 의 우측 하단의 Global 설정은 2가지 설정을 할수가 있다. 하나
는 위의 1 번 항목인 config/global.php 를 웹상에서 수정을 할 수 있게 해준다. 이에
대한 설명은 1번 항목에서 설명을 했기 때문에 생략한다. 두번째 설정은 게시판에 등
록을 하지 못하게할 문장이나 단어를 설정을 할수가 있다.

등록을 원하지 않는 단어나 문장을 등록하여 스팸성 글 같은 것을 막을수가 있다. 설
정은 원하는 단어나 문장을 한줄씩 등록을 하면 된다. 단 제일 마지막 라인이 공백라
인이면 안된다.

필터링 기능은 사용하는 php 의 mbstring 함수 지원여부에 따라 작동이 조금 틀리다.
mbstring 은 4.0.6 부터 지원을 하며, 컴파일 시에 --with-mbstring 옵션을 지정하여
설치를 할 수 있다. (필자의 경우 현재(4.1.2) 까지는 이 옵션을 주지 않아도 기본으
로 들어가는 것 같으니, phpinfo() 정보에서 mbstring 으로 검색하여 해당 설정 부분
이 있으면 사용이 가능하다.

일단 mbstring 이 지원된다면 필터링할 키워드는 한글 1자 영문 2자 이상으로 지정을
할 수있다. 하지만 mbstring 이 지원되지 않는다면 한글 2자 영문 3자 이상으로 지정
을 해 줘야 한다. 이것은 2byte 만 적었을 경우 한글의 첫글자의 2 byte 와 2번째 글
자의 1 byte 가 조합이 되어 전혀 엉뚱한 단어가 필터링이 될 수 있기 때문이다. (대
표적인 것이 '좆' 과 '려운' 이다. '려' 의 2byte 와 '운' 의 1 byte 가 만나면 '좆'
과 동일한 단어가 된다.)

또한, 필터링 기능에서는 정규표현식을 사용할 수 있다. 정규표현식은 PHP 에서 사용
할 수 있는 정규표현식은 모두 사용할 수 있다.

mbstring 이 지원될 때의 예

a          -> 1 byte 의 키워드는 함수에서 무시한다. 즉 필터링 되지 않는다.
[a]        -> 문자열은 3 byte 이지만 최종적으로 체크하는 것은 1 byte 이기 때문
              에 함수에서 무시하지는 않지만 상당히 좋지 않은 설정이다.
좆
씨(방새|발놈|발새끼|부랄)
광[ .]고
홍[ .]보

mbstring 이 지원되지 않을 경우

좆         -> 이건 2 byte 라 '려운' 과 충돌이 나므로 잘못된 설정. 함수 자체에서
              3 byte 미만의 키워드는 무시해 버린다.
좆|씨|이   -> 이 경우에는 문자열이 길기 때문에 함수에서 무시는 되지않지만 2byte
              씩 좆,씨,이 를 체크하게 되므로 좋은 설정이 아니다.
좆(나|도|같은)
광[ .]고
홍[ .]보
