답변 4개
11년 전
</strong><?php</div>
<div>/*******************************************************************************</div>
<div>** 공통 변수, 상수, 코드</div>
<div>*******************************************************************************/</div>
<div>error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING );</div>
<div>
</div>
<div>// 보안설정이나 프레임이 달라도 쿠키가 통하도록 설정</div>
<div>header('P3P: CP="ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC"');</div>
<div>
</div>
<div>if (!defined('G5_SET_TIME_LIMIT')) define('G5_SET_TIME_LIMIT', 0);</div>
<div>@set_time_limit(G5_SET_TIME_LIMIT);</div>
<div>
</div>
<div>
</div>
<div>//==========================================================================================================================</div>
<div>// extract($_GET); 명령으로 인해 page.php?_POST[var1]=data1&_POST[var2]=data2 와 같은 코드가 _POST 변수로 사용되는 것을 막음</div>
<div>// 081029 : letsgolee 님께서 도움 주셨습니다.</div>
<div>//--------------------------------------------------------------------------------------------------------------------------</div>
<div>$ext_arr = array ('PHP_SELF', '_ENV', '_GET', '_POST', '_FILES', '_SERVER', '_COOKIE', '_SESSION', '_REQUEST',</div>
<div> 'HTTP_ENV_VARS', 'HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_POST_FILES', 'HTTP_SERVER_VARS',</div>
<div> 'HTTP_COOKIE_VARS', 'HTTP_SESSION_VARS', 'GLOBALS');</div>
<div>$ext_cnt = count($ext_arr);</div>
<div>for ($i=0; $i<$ext_cnt; $i++) {</div>
<div> // GET 으로 선언된 전역변수가 있다면 unset() 시킴</div>
<div> if (isset($_GET[$ext_arr[$i]])) unset($_GET[$ext_arr[$i]]);</div>
<div>}</div>
<div>//==========================================================================================================================</div>
<div>
</div>
<div>// 완두콩님이 알려주신 보안관련 오류 수정</div>
<div>// $member 에 값을 직접 넘길 수 있음</div>
<div>$config = array();</div>
<div>$member = array();</div>
<div>$board = array();</div>
<div>$group = array();</div>
<div>$g5 = array();</div>
<div>
</div>
<div>
</div>
<div>function g5_path()</div>
<div>{</div>
<div> $result['path'] = str_replace('\\', '/', dirname(__FILE__));</div>
<div> $tilde_remove = preg_replace('/^\/\~[^\/]+(.*)$/', '$1', $_SERVER['SCRIPT_NAME']);</div>
<div> $document_root = str_replace($tilde_remove, '', $_SERVER['SCRIPT_FILENAME']);</div>
<div> $root = str_replace($document_root, '', $result['path']);</div>
<div> $port = $_SERVER['SERVER_PORT'] != 80 ? ':'.$_SERVER['SERVER_PORT'] : '';</div>
<div> $http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 's' : '') . '://';</div>
<div> $user = str_replace(str_replace($document_root, '', $_SERVER['SCRIPT_FILENAME']), '', $_SERVER['SCRIPT_NAME']);</div>
<div> $result['url'] = $http.$_SERVER['HTTP_HOST'].$port.$user.$root;</div>
<div> return $result;</div>
<div>}</div>
<div>
</div>
<div>$g5_path = g5_path();</div>
<div>
</div>
<div>include_once($g5_path['path'].'/config.php'); // 설정 파일</div>
<div>
</div>
<div>unset($g5_path);</div>
<div>
</div>
<div>
</div>
<div>//==============================================================================</div>
<div>// 공통</div>
<div>//------------------------------------------------------------------------------</div>
<div>$dbconfig_file = G5_DATA_PATH.'/'.G5_DBCONFIG_FILE;</div>
<div>if (file_exists($dbconfig_file)) {</div>
<div> include_once($dbconfig_file);</div>
<div> include_once(G5_LIB_PATH.'/common.lib.php'); // 공통 라이브러리</div>
<div>
</div>
<div> $connect_db = sql_connect(G5_MYSQL_HOST, G5_MYSQL_USER, G5_MYSQL_PASSWORD) or die('MySQL Connect Error!!!');</div>
<div> $select_db = sql_select_db(G5_MYSQL_DB, $connect_db) or die('MySQL DB Error!!!');</div>
<div>
</div>
<div> // mysql connect resource $g5 배열에 저장 - 명랑폐인님 제안</div>
<div> $g5['connect_db'] = $connect_db;</div>
<div>
</div>
<div> sql_query(" set names utf8 ");</div>
<div> if(defined('G5_MYSQL_SET_MODE') && G5_MYSQL_SET_MODE) sql_query("SET SESSION sql_mode = ''");</div>
<div> if (defined(G5_TIMEZONE)) sql_query(" set time_zone = '".G5_TIMEZONE."'");</div>
<div>
</div>
<div> //==============================================================================</div>
<div> // SQL Injection 등으로 부터 보호를 위해 sql_escape_string() 적용</div>
<div> //------------------------------------------------------------------------------</div>
<div> // magic_quotes_gpc 에 의한 backslashes 제거</div>
<div> if (get_magic_quotes_gpc()) {</div>
<div> $_POST = array_map_deep('stripslashes', $_POST);</div>
<div> $_GET = array_map_deep('stripslashes', $_GET);</div>
<div> $_COOKIE = array_map_deep('stripslashes', $_COOKIE);</div>
<div> $_REQUEST = array_map_deep('stripslashes', $_REQUEST);</div>
<div> }</div>
<div>
</div>
<div> // sql_escape_string 적용</div>
<div> $_POST = array_map_deep(G5_ESCAPE_FUNCTION, $_POST);</div>
<div> $_GET = array_map_deep(G5_ESCAPE_FUNCTION, $_GET);</div>
<div> $_COOKIE = array_map_deep(G5_ESCAPE_FUNCTION, $_COOKIE);</div>
<div> $_REQUEST = array_map_deep(G5_ESCAPE_FUNCTION, $_REQUEST);</div>
<div> //==============================================================================</div>
<div>
</div>
<div> // PHP 4.1.0 부터 지원됨</div>
<div> // php.ini 의 register_globals=off 일 경우</div>
<div> @extract($_GET);</div>
<div> @extract($_POST);</div>
<div> @extract($_SERVER);</div>
<div>} else {</div>
<div>?></div>
<div>
</div>
<div><!doctype html></div>
<div><html lang="ko"></div>
<div><head></div>
<div><meta charset="utf-8"></div>
<div><title>오류! <?php echo G5_VERSION ?> 설치하기</title></div>
<div><link rel="stylesheet" href="install/install.css"></div>
<div></head></div>
<div><body></div>
<div>
</div>
<div><div id="ins_bar"></div>
<div> <span id="bar_img">GNUBOARD5</span></div>
<div> <span id="bar_txt">Message</span></div>
<div></div></div>
<div><h1>그누보드5를 먼저 설치해주십시오.</h1></div>
<div><div class="ins_inner"></div>
<div> <p>다음 파일을 찾을 수 없습니다.</p></div>
<div> <ul></div>
<div> <li><strong><?php echo G5_DATA_DIR.'/'.G5_DBCONFIG_FILE ?></strong></li></div>
<div> </ul></div>
<div> <p>그누보드 설치 후 다시 실행하시기 바랍니다.</p></div>
<div> <div class="inner_btn"></div>
<div> <a href="<?php echo G5_URL; ?>/install/"><?php echo G5_VERSION ?> 설치하기</a></div>
<div> </div></div>
<div></div></div>
<div><div id="ins_ft"></div>
<div> <strong>GNUBOARD5</strong></div>
<div> <p>GPL! OPEN SOURCE GNUBOARD</p></div>
<div></div></div>
<div>
</div>
<div></body></div>
<div></html></div>
<div>
</div>
<div><?php</div>
<div> exit;</div>
<div>}</div>
<div>//==============================================================================</div>
<div>
</div>
<div>
</div>
<div>//==============================================================================</div>
<div>// SESSION 설정</div>
<div>//------------------------------------------------------------------------------</div>
<div>@ini_set("session.use_trans_sid", 0); // PHPSESSID를 자동으로 넘기지 않음</div>
<div>@ini_set("url_rewriter.tags",""); // 링크에 PHPSESSID가 따라다니는것을 무력화함 (해뜰녘님께서 알려주셨습니다.)</div>
<div>
</div>
<div>session_save_path(G5_SESSION_PATH);</div>
<div>
</div>
<div>if (isset($SESSION_CACHE_LIMITER))</div>
<div> @session_cache_limiter($SESSION_CACHE_LIMITER);</div>
<div>else</div>
<div> @session_cache_limiter("no-cache, must-revalidate");</div>
<div>
</div>
<div>ini_set("session.cache_expire", 180); // 세션 캐쉬 보관시간 (분)</div>
<div>ini_set("session.gc_maxlifetime", 10800); // session data의 garbage collection 존재 기간을 지정 (초)</div>
<div>ini_set("session.gc_probability", 1); // session.gc_probability는 session.gc_divisor와 연계하여 gc(쓰레기 수거) 루틴의 시작 확률을 관리합니다. 기본값은 1입니다. 자세한 내용은 session.gc_divisor를 참고하십시오.</div>
<div>ini_set("session.gc_divisor", 100); // session.gc_divisor는 session.gc_probability와 결합하여 각 세션 초기화 시에 gc(쓰레기 수거) 프로세스를 시작할 확률을 정의합니다. 확률은 gc_probability/gc_divisor를 사용하여 계산합니다. 즉, 1/100은 각 요청시에 GC 프로세스를 시작할 확률이 1%입니다. session.gc_divisor의 기본값은 100입니다.</div>
<div>
</div>
<div>session_set_cookie_params(0, '/');</div>
<div>ini_set("session.cookie_domain", G5_COOKIE_DOMAIN);</div>
<div>
</div>
<div>@session_start();</div>
<div>//==============================================================================</div>
<div>
</div>
<div>
</div>
<div>//==============================================================================</div>
<div>// 공용 변수</div>
<div>//------------------------------------------------------------------------------</div>
<div>// 기본환경설정</div>
<div>// 기본적으로 사용하는 필드만 얻은 후 상황에 따라 필드를 추가로 얻음</div>
<div>$config = sql_fetch(" select * from {$g5['config_table']} ");</div>
<div>
</div>
<div>define('G5_HTTP_BBS_URL', https_url(G5_BBS_DIR, false));</div>
<div>define('G5_HTTPS_BBS_URL', https_url(G5_BBS_DIR, true));</div>
<div>if ($config['cf_editor'])</div>
<div> define('G5_EDITOR_LIB', G5_EDITOR_PATH."/{$config['cf_editor']}/editor.lib.php");</div>
<div>else</div>
<div> define('G5_EDITOR_LIB', G5_LIB_PATH."/editor.lib.php");</div>
<div>
</div>
<div>//==============================================================================</div>
<div>// Mobile 모바일 설정</div>
<div>// 쿠키에 저장된 값이 모바일이라면 브라우저 상관없이 모바일로 실행</div>
<div>// 그렇지 않다면 브라우저의 HTTP_USER_AGENT 에 따라 모바일 결정</div>
<div>// G5_MOBILE_AGENT : config.php 에서 선언</div>
<div>//------------------------------------------------------------------------------</div>
<div>$is_mobile = false;</div>
<div>if (G5_USE_MOBILE) {</div>
<div> if ($_REQUEST['device']=='pc')</div>
<div> $is_mobile = false;</div>
<div> else if ($_REQUEST['device']=='mobile')</div>
<div> $is_mobile = true;</div>
<div> else if (isset($_SESSION['ss_is_mobile']))</div>
<div> $is_mobile = $_SESSION['ss_is_mobile'];</div>
<div> else if (is_mobile())</div>
<div> $is_mobile = true;</div>
<div>}</div>
<div>
</div>
<div>$_SESSION['ss_is_mobile'] = $is_mobile;</div>
<div>define('G5_IS_MOBILE', $is_mobile);</div>
<div>if (G5_IS_MOBILE) {</div>
<div> include_once(G5_LIB_PATH.'/mobile.lib.php'); // 모바일 전용 라이브러리</div>
<div> $g5['mobile_path'] = G5_PATH.'/'.$g5['mobile_dir'];</div>
<div>}</div>
<div>//==============================================================================</div>
<div>
</div>
<div>// 4.00.03 : [보안관련] PHPSESSID 가 틀리면 로그아웃한다.</div>
<div>if (isset($_REQUEST['PHPSESSID']) && $_REQUEST['PHPSESSID'] != session_id())</div>
<div> goto_url(G5_BBS_URL.'/logout.php');</div>
<div>
</div>
<div>// QUERY_STRING</div>
<div>$qstr = '';</div>
<div>
</div>
<div>if (isset($_REQUEST['sca'])) {</div>
<div> $sca = trim($_REQUEST['sca']);</div>
<div> if ($sca)</div>
<div> $qstr .= '&sca=' . urlencode($sca);</div>
<div>} else {</div>
<div> $sca = '';</div>
<div>}</div>
<div>
</div>
<div>if (isset($_REQUEST['sfl'])) {</div>
<div> $sfl = trim($_REQUEST['sfl']);</div>
<div> $sfl = preg_replace("/[\<\>\'\"\%\=\(\)\s]/", "", $sfl);</div>
<div> if ($sfl)</div>
<div> $qstr .= '&sfl=' . urlencode($sfl); // search field (검색 필드)</div>
<div>} else {</div>
<div> $sfl = '';</div>
<div>}</div>
<div>
</div>
<div>
</div>
<div>if (isset($_REQUEST['stx'])) { // search text (검색어)</div>
<div> $stx = trim($_REQUEST['stx']);</div>
<div> if ($stx)</div>
<div> $qstr .= '&stx=' . urlencode(cut_str($stx, 20, ''));</div>
<div>} else {</div>
<div> $stx = '';</div>
<div>}</div>
<div>
</div>
<div>if (isset($_REQUEST['sst'])) {</div>
<div> $sst = trim($_REQUEST['sst']);</div>
<div> $sst = preg_replace("/[\<\>\'\"\%\=\(\)\s]/", "", $sst);</div>
<div> if ($sst)</div>
<div> $qstr .= '&sst=' . urlencode($sst); // search sort (검색 정렬 필드)</div>
<div>} else {</div>
<div> $sst = '';</div>
<div>}</div>
<div>
</div>
<div>if (isset($_REQUEST['sod'])) { // search order (검색 오름, 내림차순)</div>
<div> $sod = preg_match("/^(asc|desc)$/i", $sod) ? $sod : '';</div>
<div> if ($sod)</div>
<div> $qstr .= '&sod=' . urlencode($sod);</div>
<div>} else {</div>
<div> $sod = '';</div>
<div>}</div>
<div>
</div>
<div>if (isset($_REQUEST['sop'])) { // search operator (검색 or, and 오퍼레이터)</div>
<div> $sop = preg_match("/^(or|and)$/i", $sop) ? $sop : '';</div>
<div> if ($sop)</div>
<div> $qstr .= '&sop=' . urlencode($sop);</div>
<div>} else {</div>
<div> $sop = '';</div>
<div>}</div>
<div>
</div>
<div>if (isset($_REQUEST['spt'])) { // search part (검색 파트[구간])</div>
<div> $spt = (int)$spt;</div>
<div> if ($spt)</div>
<div> $qstr .= '&spt=' . urlencode($spt);</div>
<div>} else {</div>
<div> $spt = '';</div>
<div>}</div>
<div>
</div>
<div>if (isset($_REQUEST['page'])) { // 리스트 페이지</div>
<div> $page = (int)$_REQUEST['page'];</div>
<div> if ($page)</div>
<div> $qstr .= '&page=' . urlencode($page);</div>
<div>} else {</div>
<div> $page = '';</div>
<div>}</div>
<div>
</div>
<div>if (isset($_REQUEST['w'])) {</div>
<div> $w = substr($w, 0, 2);</div>
<div>} else {</div>
<div> $w = '';</div>
<div>}</div>
<div>
</div>
<div>if (isset($_REQUEST['wr_id'])) {</div>
<div> $wr_id = (int)$_REQUEST['wr_id'];</div>
<div>} else {</div>
<div> $wr_id = 0;</div>
<div>}</div>
<div>
</div>
<div>if (isset($_REQUEST['bo_table'])) {</div>
<div> $bo_table = trim($_REQUEST['bo_table']);</div>
<div> $bo_table = substr($bo_table, 0, 20);</div>
<div>} else {</div>
<div> $bo_table = '';</div>
<div>}</div>
<div>
</div>
<div>// URL ENCODING</div>
<div>if (isset($_REQUEST['url'])) {</div>
<div> $url = trim($_REQUEST['url']);</div>
<div> $urlencode = urlencode($url);</div>
<div>} else {</div>
<div> $url = '';</div>
<div> $urlencode = urlencode($_SERVER['REQUEST_URI']);</div>
<div> if (G5_DOMAIN) {</div>
<div> $p = parse_url(G5_DOMAIN);</div>
<div> $urlencode = G5_DOMAIN.urldecode(preg_replace("/^".urlencode($p['path'])."/", "", $urlencode));</div>
<div> }</div>
<div>}</div>
<div>
</div>
<div>if (isset($_REQUEST['gr_id'])) {</div>
<div> if (!is_array($_REQUEST['gr_id'])) {</div>
<div> $gr_id = trim($_REQUEST['gr_id']);</div>
<div> }</div>
<div>} else {</div>
<div> $gr_id = '';</div>
<div>}</div>
<div>//===================================</div>
<div>
</div>
<div>
</div>
<div>// 자동로그인 부분에서 첫로그인에 포인트 부여하던것을 로그인중일때로 변경하면서 코드도 대폭 수정하였습니다.</div>
<div>if ($_SESSION['ss_mb_id']) { // 로그인중이라면</div>
<div> $member = get_member($_SESSION['ss_mb_id']);</div>
<div>
</div>
<div> // 오늘 처음 로그인 이라면</div>
<div> if (substr($member['mb_today_login'], 0, 10) != G5_TIME_YMD) {</div>
<div> // 첫 로그인 포인트 지급</div>
<div> insert_point($member['mb_id'], $config['cf_login_point'], G5_TIME_YMD.' 첫로그인', '@login', $member['mb_id'], G5_TIME_YMD);</div>
<div>
</div>
<div> // 오늘의 로그인이 될 수도 있으며 마지막 로그인일 수도 있음</div>
<div> // 해당 회원의 접근일시와 IP 를 저장</div>
<div> $sql = " update {$g5['member_table']} set mb_today_login = '".G5_TIME_YMDHIS."', mb_login_ip = '{$_SERVER['REMOTE_ADDR']}' where mb_id = '{$member['mb_id']}' ";</div>
<div> sql_query($sql);</div>
<div> }</div>
<div>
</div>
<div>} else {</div>
<div> // 자동로그인 ---------------------------------------</div>
<div> // 회원아이디가 쿠키에 저장되어 있다면 (3.27)</div>
<div> if ($tmp_mb_id = get_cookie('ck_mb_id')) {</div>
<div>
</div>
<div> $tmp_mb_id = substr(preg_replace("/[^a-zA-Z0-9_]*/", "", $tmp_mb_id), 0, 20);</div>
<div> // 최고관리자는 자동로그인 금지</div>
<div> if ($tmp_mb_id != $config['cf_admin']) {</div>
<div> $sql = " select mb_password, mb_intercept_date, mb_leave_date, mb_email_certify from {$g5['member_table']} where mb_id = '{$tmp_mb_id}' ";</div>
<div> $row = sql_fetch($sql);</div>
<div> $key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'] . $row['mb_password']);</div>
<div> // 쿠키에 저장된 키와 같다면</div>
<div> $tmp_key = get_cookie('ck_auto');</div>
<div> if ($tmp_key == $key && $tmp_key) {</div>
<div> // 차단, 탈퇴가 아니고 메일인증이 사용이면서 인증을 받았다면</div>
<div> if ($row['mb_intercept_date'] == '' &&</div>
<div> $row['mb_leave_date'] == '' &&</div>
<div> (!$config['cf_use_email_certify'] || preg_match('/[1-9]/', $row['mb_email_certify'])) ) {</div>
<div> // 세션에 회원아이디를 저장하여 로그인으로 간주</div>
<div> set_session('ss_mb_id', $tmp_mb_id);</div>
<div>
</div>
<div> // 페이지를 재실행</div>
<div> echo "<script type='text/javascript'> window.location.reload(); </script>";</div>
<div> exit;</div>
<div> }</div>
<div> }</div>
<div> // $row 배열변수 해제</div>
<div> unset($row);</div>
<div> }</div>
<div> }</div>
<div> // 자동로그인 end ---------------------------------------</div>
<div>}</div>
<div>
</div>
<div>
</div>
<div>$write = array();</div>
<div>$write_table = "";</div>
<div>if ($bo_table) {</div>
<div> $board = sql_fetch(" select * from {$g5['board_table']} where bo_table = '$bo_table' ");</div>
<div> if ($board['bo_table']) {</div>
<div> set_cookie("ck_bo_table", $board['bo_table'], 86400 * 1);</div>
<div> $gr_id = $board['gr_id'];</div>
<div> $write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 전체이름</div>
<div> //$comment_table = $g5['write_prefix'] . $bo_table . $g5['comment_suffix']; // 코멘트 테이블 전체이름</div>
<div> if (isset($wr_id) && $wr_id)</div>
<div> $write = sql_fetch(" select * from $write_table where wr_id = '$wr_id' ");</div>
<div> }</div>
<div>}</div>
<div>
</div>
<div>if ($gr_id) {</div>
<div> $group = sql_fetch(" select * from {$g5['group_table']} where gr_id = '$gr_id' ");</div>
<div>}</div>
<div>
</div>
<div>
</div>
<div>// 회원, 비회원 구분</div>
<div>$is_member = $is_guest = false;</div>
<div>$is_admin = '';</div>
<div>if ($member['mb_id']) {</div>
<div> $is_member = true;</div>
<div> $is_admin = is_admin($member['mb_id']);</div>
<div> $member['mb_dir'] = substr($member['mb_id'],0,2);</div>
<div>} else {</div>
<div> $is_guest = true;</div>
<div> $member['mb_id'] = '';</div>
<div> $member['mb_level'] = 1; // 비회원의 경우 회원레벨을 가장 낮게 설정</div>
<div>}</div>
<div>
</div>
<div>
</div>
<div>if ($is_admin != 'super') {</div>
<div> // 접근가능 IP</div>
<div> $cf_possible_ip = trim($config['cf_possible_ip']);</div>
<div> if ($cf_possible_ip) {</div>
<div> $is_possible_ip = false;</div>
<div> $pattern = explode("\n", $cf_possible_ip);</div>
<div> for ($i=0; $i<count($pattern); $i++) {</div>
<div> $pattern[$i] = trim($pattern[$i]);</div>
<div> if (empty($pattern[$i]))</div>
<div> continue;</div>
<div>
</div>
<div> //$pat = "/({$pattern[$i]})/";</div>
<div> $pattern[$i] = str_replace(".", "\.", $pattern[$i]);</div>
<div> $pat = "/^{$pattern[$i]}/";</div>
<div> $is_possible_ip = preg_match($pat, $_SERVER['REMOTE_ADDR']);</div>
<div> if ($is_possible_ip)</div>
<div> break;</div>
<div> }</div>
<div> if (!$is_possible_ip)</div>
<div> die ("접근이 가능하지 않습니다.");</div>
<div> }</div>
<div>
</div>
<div> // 접근차단 IP</div>
<div> $is_intercept_ip = false;</div>
<div> $pattern = explode("\n", trim($config['cf_intercept_ip']));</div>
<div> for ($i=0; $i<count($pattern); $i++) {</div>
<div> $pattern[$i] = trim($pattern[$i]);</div>
<div> if (empty($pattern[$i]))</div>
<div> continue;</div>
<div>
</div>
<div> $pattern[$i] = str_replace(".", "\.", $pattern[$i]);</div>
<div> $pat = "/^{$pattern[$i]}/";</div>
<div> $is_intercept_ip = preg_match($pat, $_SERVER['REMOTE_ADDR']);</div>
<div> if ($is_intercept_ip)</div>
<div> die ("접근 불가합니다.");</div>
<div> }</div>
<div>}</div>
<div>
</div>
<div>
</div>
<div>//==============================================================================</div>
<div>// 스킨경로</div>
<div>//------------------------------------------------------------------------------</div>
<div>if (G5_IS_MOBILE) {</div>
<div> $board_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/board/'.$board['bo_mobile_skin'];</div>
<div> $board_skin_url = G5_MOBILE_URL .'/'.G5_SKIN_DIR.'/board/'.$board['bo_mobile_skin'];</div>
<div> $member_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/member/'.$config['cf_mobile_member_skin'];</div>
<div> $member_skin_url = G5_MOBILE_URL .'/'.G5_SKIN_DIR.'/member/'.$config['cf_mobile_member_skin'];</div>
<div> $new_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/new/'.$config['cf_mobile_new_skin'];</div>
<div> $new_skin_url = G5_MOBILE_URL .'/'.G5_SKIN_DIR.'/new/'.$config['cf_mobile_new_skin'];</div>
<div> $search_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/search/'.$config['cf_mobile_search_skin'];</div>
<div> $search_skin_url = G5_MOBILE_URL .'/'.G5_SKIN_DIR.'/search/'.$config['cf_mobile_search_skin'];</div>
<div> $connect_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/connect/'.$config['cf_mobile_connect_skin'];</div>
<div> $connect_skin_url = G5_MOBILE_URL .'/'.G5_SKIN_DIR.'/connect/'.$config['cf_mobile_connect_skin'];</div>
<div>} else {</div>
<div> $board_skin_path = G5_SKIN_PATH.'/board/'.$board['bo_skin'];</div>
<div> $board_skin_url = G5_SKIN_URL .'/board/'.$board['bo_skin'];</div>
<div> $member_skin_path = G5_SKIN_PATH.'/member/'.$config['cf_member_skin'];</div>
<div> $member_skin_url = G5_SKIN_URL .'/member/'.$config['cf_member_skin'];</div>
<div> $new_skin_path = G5_SKIN_PATH.'/new/'.$config['cf_new_skin'];</div>
<div> $new_skin_url = G5_SKIN_URL .'/new/'.$config['cf_new_skin'];</div>
<div> $search_skin_path = G5_SKIN_PATH.'/search/'.$config['cf_search_skin'];</div>
<div> $search_skin_url = G5_SKIN_URL .'/search/'.$config['cf_search_skin'];</div>
<div> $connect_skin_path = G5_SKIN_PATH.'/connect/'.$config['cf_connect_skin'];</div>
<div> $connect_skin_url = G5_SKIN_URL .'/connect/'.$config['cf_connect_skin'];</div>
<div>}</div>
<div>//==============================================================================</div>
<div>
</div>
<div>
</div>
<div>// 방문자수의 접속을 남김</div>
<div>include_once(G5_BBS_PATH.'/visit_insert.inc.php');</div>
<div>
</div>
<div>
</div>
<div>// common.php 파일을 수정할 필요가 없도록 확장합니다.</div>
<div>$extend_file = array();</div>
<div>$tmp = dir(G5_EXTEND_PATH);</div>
<div>while ($entry = $tmp->read()) {</div>
<div> // php 파일만 include 함</div>
<div> if (preg_match("/(\.php)$/i", $entry))</div>
<div> $extend_file[] = $entry;</div>
<div>}</div>
<div>
</div>
<div>if(!empty($extend_file) && is_array($extend_file)) {</div>
<div> natsort($extend_file);</div>
<div>
</div>
<div> foreach($extend_file as $file) {</div>
<div> include_once(G5_EXTEND_PATH.'/'.$file);</div>
<div> }</div>
<div>}</div>
<div>unset($extend_file);</div>
<div>
</div>
<div>ob_start();</div>
<div>
</div>
<div>// 자바스크립트에서 go(-1) 함수를 쓰면 폼값이 사라질때 해당 폼의 상단에 사용하면</div>
<div>// 캐쉬의 내용을 가져옴. 완전한지는 검증되지 않음</div>
<div>header('Content-Type: text/html; charset=utf-8');</div>
<div>$gmnow = gmdate('D, d M Y H:i:s') . ' GMT';</div>
<div>header('Expires: 0'); // rfc2616 - Section 14.21</div>
<div>header('Last-Modified: ' . $gmnow);</div>
<div>header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1</div>
<div>header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1</div>
<div>header('Pragma: no-cache'); // HTTP/1.0</div>
<div>
</div>
<div>$html_process = new html_process();</div>
<div>?></div>
<div><strong style="font-family: 돋움, dotum, helvetica; font-size: 12px; line-height: 21.600000381469727px">
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
�
쿠로사키
11년 전
common 파일도 올렸습니다 ^^
댓글을 작성하려면 로그인이 필요합니다.
11년 전
</strong>보안서버 도메인</div>
<div>회원가입, 글쓰기에 사용되는 https 로 시작되는 주소를 말합니다.</div>
<div>포트가 있다면 도메인 뒤에 :443 과 같이 입력하세요.</div>
<div>보안서버주소가 없다면 공란으로 두시면 되며 보안서버주소 뒤에 / 는 붙이지 않습니다.</div>
<div>입력예) <a href="https://www.domain.com:443/gnuboard5" target="_blank" rel="noopener noreferrer">https://www.domain.com:443/gnuboard5</a></div>
<div>*/</div>
<div>define('G5_DOMAIN', '');</div>
<div>define('G5_HTTPS_DOMAIN', '');</div>
<div>
</div>
<div>/*</div>
<div>www.sir.co.kr 과 sir.co.kr 도메인은 서로 다른 도메인으로 인식합니다. 쿠키를 공유하려면 .sir.co.kr 과 같이 입력하세요.</div>
<div>이곳에 입력이 없다면 www 붙은 도메인과 그렇지 않은 도메인은 쿠키를 공유하지 않으므로 로그인이 풀릴 수 있습니다.</div>
<div>*/</div>
<div>define('G5_COOKIE_DOMAIN', '');</div>
<div>
</div>
<div>define('G5_DBCONFIG_FILE', 'dbconfig.php');</div>
<div>
</div>
<div>define('G5_ADMIN_DIR', 'adm');</div>
<div>define('G5_BBS_DIR', 'bbs');</div>
<div>define('G5_CSS_DIR', 'css');</div>
<div><strong style="font-family: 돋움, dotum, helvetica; font-size: 12px; line-height: 21.600000381469727px">
이렇게 되어있습니다
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인

