\'\"\\\'\\\"\%\=\(\)\/\^\*]/", '', $host); $result['url'] = $http.$host.$port.$user.$root; return $result; } $g5_path = g5_path(); include_once($g5_path['path'].'/config.php'); // ์„ค์ • ํŒŒ์ผ unset($g5_path); // IIS ์—์„œ SERVER_ADDR ์„œ๋ฒ„๋ณ€์ˆ˜๊ฐ€ ์—†๋‹ค๋ฉด if (!isset($_SERVER['SERVER_ADDR'])) { $_SERVER['SERVER_ADDR'] = isset($_SERVER['LOCAL_ADDR']) ? $_SERVER['LOCAL_ADDR'] : ''; } // multi-dimensional array์— ์‚ฌ์šฉ์ž์ง€์ • ํ•จ์ˆ˜์ ์šฉ function array_map_deep($fn, $array) { if(is_array($array)) { foreach($array as $key => $value) { if(is_array($value)) { $array[$key] = array_map_deep($fn, $value); } else { $array[$key] = call_user_func($fn, $value); } } } else { $array = call_user_func($fn, $array); } return $array; } // SQL Injection ๋Œ€์‘ ๋ฌธ์ž์—ด ํ•„ํ„ฐ๋ง function sql_escape_string($str) { if(defined('G5_ESCAPE_PATTERN') && defined('G5_ESCAPE_REPLACE')) { $pattern = G5_ESCAPE_PATTERN; $replace = G5_ESCAPE_REPLACE; if($pattern) $str = preg_replace($pattern, $replace, $str); } $str = call_user_func('addslashes', $str); return $str; } //============================================================================== // SQL Injection ๋“ฑ์œผ๋กœ ๋ถ€ํ„ฐ ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด sql_escape_string() ์ ์šฉ //------------------------------------------------------------------------------ // magic_quotes_gpc ์— ์˜ํ•œ backslashes ์ œ๊ฑฐ if (7.0 > (float)phpversion()) { if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) { $_POST = array_map_deep('stripslashes', $_POST); $_GET = array_map_deep('stripslashes', $_GET); $_COOKIE = array_map_deep('stripslashes', $_COOKIE); $_REQUEST = array_map_deep('stripslashes', $_REQUEST); } } // sql_escape_string ์ ์šฉ $_POST = array_map_deep(G5_ESCAPE_FUNCTION, $_POST); $_GET = array_map_deep(G5_ESCAPE_FUNCTION, $_GET); $_COOKIE = array_map_deep(G5_ESCAPE_FUNCTION, $_COOKIE); $_REQUEST = array_map_deep(G5_ESCAPE_FUNCTION, $_REQUEST); //============================================================================== // PHP 4.1.0 ๋ถ€ํ„ฐ ์ง€์›๋จ // php.ini ์˜ register_globals=off ์ผ ๊ฒฝ์šฐ @extract($_GET); @extract($_POST); @extract($_SERVER); // ์™„๋‘์ฝฉ๋‹˜์ด ์•Œ๋ ค์ฃผ์‹  ๋ณด์•ˆ๊ด€๋ จ ์˜ค๋ฅ˜ ์ˆ˜์ • // $member ์— ๊ฐ’์„ ์ง์ ‘ ๋„˜๊ธธ ์ˆ˜ ์žˆ์Œ $config = array(); $member = array('mb_id'=>'', 'mb_level'=> 1, 'mb_name'=> '', 'mb_point'=> 0, 'mb_certify'=>'', 'mb_email'=>'', 'mb_open'=>'', 'mb_homepage'=>'', 'mb_tel'=>'', 'mb_hp'=>'', 'mb_zip1'=>'', 'mb_zip2'=>'', 'mb_addr1'=>'', 'mb_addr2'=>'', 'mb_addr3'=>'', 'mb_addr_jibeon'=>'', 'mb_signature'=>'', 'mb_profile'=>''); $board = array('bo_table'=>'', 'bo_skin'=>'', 'bo_mobile_skin'=>'', 'bo_upload_count' => 0, 'bo_use_dhtml_editor'=>'', 'bo_subject'=>'', 'bo_image_width'=>0); $group = array('gr_device'=>'', 'gr_subject'=>''); $g5 = array(); if( version_compare( phpversion(), '8.0.0', '>=' ) ) { $g5 = array('title'=>''); } $qaconfig = array(); $g5_debug = array('php'=>array(),'sql'=>array()); include_once(G5_LIB_PATH.'/hook.lib.php'); // hook ํ•จ์ˆ˜ ํŒŒ์ผ include_once(G5_LIB_PATH.'/get_data.lib.php'); // ๋ฐ์ดํƒ€ ๊ฐ€์ ธ์˜ค๋Š” ํ•จ์ˆ˜ ๋ชจ์Œ include_once(G5_LIB_PATH.'/cache.lib.php'); // cache ํ•จ์ˆ˜ ๋ฐ object cache class ๋ชจ์Œ include_once(G5_LIB_PATH.'/uri.lib.php'); // URL ํ•จ์ˆ˜ ํŒŒ์ผ $g5_object = new G5_object_cache(); //============================================================================== // ๊ณตํ†ต //------------------------------------------------------------------------------ $dbconfig_file = G5_DATA_PATH.'/'.G5_DBCONFIG_FILE; if (file_exists($dbconfig_file)) { include_once($dbconfig_file); include_once(G5_LIB_PATH.'/common.lib.php'); // ๊ณตํ†ต ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ $connect_db = sql_connect(G5_MYSQL_HOST, G5_MYSQL_USER, G5_MYSQL_PASSWORD) or die('MySQL Connect Error!!!'); $select_db = sql_select_db(G5_MYSQL_DB, $connect_db) or die('MySQL DB Error!!!'); // mysql connect resource $g5 ๋ฐฐ์—ด์— ์ €์žฅ - ๋ช…๋ž‘ํ์ธ๋‹˜ ์ œ์•ˆ $g5['connect_db'] = $connect_db; sql_set_charset(G5_DB_CHARSET, $connect_db); if(defined('G5_MYSQL_SET_MODE') && G5_MYSQL_SET_MODE) sql_query("SET SESSION sql_mode = ''"); if (defined('G5_TIMEZONE')) sql_query(" set time_zone = '".G5_TIMEZONE."'"); } else { ?> ์˜ค๋ฅ˜! <?php echo G5_VERSION ?> ์„ค์น˜ํ•˜๊ธฐ
GNUBOARD5 Message

๊ทธ๋ˆ„๋ณด๋“œ5๋ฅผ ๋จผ์ € ์„ค์น˜ํ•ด์ฃผ์‹ญ์‹œ์˜ค.

๋‹ค์Œ ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋ˆ„๋ณด๋“œ ์„ค์น˜ ํ›„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์„ค์น˜ํ•˜๊ธฐ
GNUBOARD5

GPL! OPEN SOURCE GNUBOARD

'; echo '
'; echo self::makeInputArray($posts); echo '
'; echo ''; exit; } public static function makeInputArray($posts) { $res = array(); foreach($posts as $k => $v) { $res[] = self::makeInputArray_($k, $v); } return implode('', $res); } private static function makeInputArray_($k, $v) { if(is_array($v)) { $res = array(); foreach($v as $i => $j) { $res[] = self::makeInputArray_($k.'['.htmlspecialchars($i).']', $j); } return implode('', $res); } return ''; } } } if( !function_exists('shop_check_is_pay_page') ){ function shop_check_is_pay_page(){ $shop_dir = 'shop'; $plugin_dir = 'plugin'; $mobile_dir = G5_MOBILE_DIR; // PG ๊ฒฐ์ œ์‚ฌ์˜ ๋ฆฌํ„ดํŽ˜์ด์ง€ ๋ชฉ๋ก๋“ค $pg_checks_pages = array( $shop_dir.'/inicis/INIStdPayReturn.php', // ์˜์นดํŠธ 5.2.9.5 ์ดํ•˜์—์„œ ์‚ฌ์šฉ๋จ, ๊ทธ ์ด์ƒ๋ฒ„์ „์—์„œ๋Š” ํŒŒ์ผ ์‚ญ์ œ๋จ $shop_dir.'/inicis/inistdpay_return.php', // ์˜์นดํŠธ 5.2.9.6 ์ด์ƒ์—์„œ ์‚ฌ์šฉ๋จ $mobile_dir.'/'.$shop_dir.'/inicis/pay_return.php', $mobile_dir.'/'.$shop_dir.'/inicis/pay_approval.php', $shop_dir.'/lg/returnurl.php', $mobile_dir.'/'.$shop_dir.'/lg/returnurl.php', $mobile_dir.'/'.$shop_dir.'/lg/xpay_approval.php', $mobile_dir.'/'.$shop_dir.'/kcp/order_approval_form.php', $shop_dir.'/kakaopay/inicis_kk_return.php', // ์ด๋‹ˆ์‹œ์Šค ์นด์นด์˜คํŽ˜์ด (SIRK ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์•„์ด๋”” ์ „์šฉ) $plugin_dir."/inicert/ini_result.php", // ์ด๋‹ˆ์‹œ์Šค ๊ฐ„ํŽธ์ธ์ฆ ๋ชจ๋“ˆ 2021-09-10 http <-> https ๊ฐ„ ์„ธ์…˜ ๊ณต์œ  ๋ฌธ์ œ๋กœ ์ธํ•ด ์ถ”๊ฐ€ $plugin_dir."/inicert/ini_find_result.php", // ์ด๋‹ˆ์‹œ์Šค ๊ฐ„ํŽธ์ธ์ฆ ๋ชจ๋“ˆ 2021-09-10 http <-> https ๊ฐ„ ์„ธ์…˜ ๊ณต์œ  ๋ฌธ์ œ๋กœ ์ธํ•ด ์ถ”๊ฐ€ ); $server_script_name = str_replace('\\', '/', $_SERVER['SCRIPT_NAME']); // PG ๊ฒฐ์ œ์‚ฌ์˜ ๋ฆฌํ„ดํŽ˜์ด์ง€์ด๋ฉด foreach( $pg_checks_pages as $pg_page ){ if( preg_match('~'.preg_quote($pg_page).'$~i', $server_script_name) ){ return true; } } return false; } } // PG ๊ฒฐ์ œ์‹œ์— ์„ธ์…˜์ด ์—†์œผ๋ฉด ๋‚ด ํ˜ธ์ถœํŽ˜์ด์ง€๋ฅผ ๋‹ค์‹œ ํ˜ธ์ถœํ•˜์—ฌ ์ฟ ํ‚ค PHPSESSID๋ฅผ ์‚ด๋ ค๋‚ด์–ด ์„ธ์…˜๊ฐ’์„ ์ •์ƒ์ ์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. // ์œ„์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ „๋ถ€ ํ•œํŽ˜์ด์ง€์— ๋„ฃ์€ ์ด์œ ๋Š” ์ด์ „ ๋ฒ„์ „ ์‚ฌ์šฉ์ž๋“ค์ด ํŒจ์น˜์‹œ ์–ด๋ ค์šธ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ•œํŽ˜์ด์ง€์— ์ฝ”๋“œ๋ฅผ ๋‹ค ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค. if(XenoPostToForm::check()) { if ( shop_check_is_pay_page() ){ // PG ๊ฒฐ์ œ ๋ฆฌํ„ดํŽ˜์ด์ง€์—์„œ๋งŒ ์‚ฌ์šฉ XenoPostToForm::submit($_POST); // session_start(); ํ•˜๊ธฐ ์ „์— } } //============================================================================== // ๊ณต์šฉ ๋ณ€์ˆ˜ //------------------------------------------------------------------------------ // ๊ธฐ๋ณธํ™˜๊ฒฝ์„ค์ • // ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ•„๋“œ๋งŒ ์–ป์€ ํ›„ ์ƒํ™ฉ์— ๋”ฐ๋ผ ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€๋กœ ์–ป์Œ $config = get_config(true); // ๋ณธ์ธ์ธ์ฆ ๋˜๋Š” ์‡ผํ•‘๋ชฐ ์‚ฌ์šฉ์‹œ์—๋งŒ secure; SameSite=None ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER) ) { // Chrome 80 ๋ฒ„์ „๋ถ€ํ„ฐ ์•„๋ž˜ ์ด์Šˆ ๋Œ€์‘ // https://developers-kr.googleblog.com/2020/01/developers-get-ready-for-new.html?fbclid=IwAR0wnJFGd6Fg9_WIbQPK3_FxSSpFLqDCr9bjicXdzy--CCLJhJgC9pJe5ss if(!function_exists('session_start_samesite')) { function session_start_samesite($options = array()) { global $g5; $res = @session_start($options); // IE ๋ธŒ๋ผ์šฐ์ € ๋˜๋Š” ์—ฃ์ง€๋ธŒ๋ผ์šฐ์ € ๋˜๋Š” IOS ๋ชจ๋ฐ”์ผ๊ณผ httpํ™˜๊ฒฝ์—์„œ๋Š” secure; SameSite=None์„ ์„ค์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. if (isset($_SERVER['HTTP_USER_AGENT'])) { if (preg_match('/Edge/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('/(iPhone|iPod|iPad).*AppleWebKit.*Safari/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~Trident/7.0(; Touch)?; rv:11.0~',$_SERVER['HTTP_USER_AGENT']) || !(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on')) { return $res; } } $headers = headers_list(); krsort($headers); $cookie_session_name = method_exists('XenoPostToForm', 'g5_session_name') ? XenoPostToForm::g5_session_name() : 'PHPSESSID'; foreach ($headers as $header) { if (!preg_match('~^Set-Cookie: '.$cookie_session_name.'=~', $header)) continue; $header = preg_replace('~(; secure; HttpOnly)?$~', '; secure; HttpOnly; SameSite=None', $header); header($header, false); $g5['session_cookie_samesite'] = 'none'; break; } return $res; } } session_start_samesite(); } else { @session_start(); } //============================================================================== define('G5_HTTP_BBS_URL', https_url(G5_BBS_DIR, false)); define('G5_HTTPS_BBS_URL', https_url(G5_BBS_DIR, true)); define('G5_CAPTCHA_DIR', !empty($config['cf_captcha']) ? $config['cf_captcha'] : 'kcaptcha'); define('G5_CAPTCHA_URL', G5_PLUGIN_URL.'/'.G5_CAPTCHA_DIR); define('G5_CAPTCHA_PATH', G5_PLUGIN_PATH.'/'.G5_CAPTCHA_DIR); // 4.00.03 : [๋ณด์•ˆ๊ด€๋ จ] PHPSESSID ๊ฐ€ ํ‹€๋ฆฌ๋ฉด ๋กœ๊ทธ์•„์›ƒํ•œ๋‹ค. php5.2 ๋ฒ„์ „ ์ดํ•˜์—์„œ๋งŒ ํ•ด๋‹น๋˜๋Š” ์ฝ”๋“œ์ด๋ฉฐ, ์˜คํžˆ๋ ค ๋ฌดํ•œ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์˜ค๋ฅ˜๊ฐ€ ์ผ์–ด๋‚ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์„์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. // if( method_exists('XenoPostToForm', 'php52_request_check') ) XenoPostToForm::php52_request_check(); // QUERY_STRING $qstr = ''; if (isset($_REQUEST['sca'])) { $sca = clean_xss_tags(trim($_REQUEST['sca'])); if ($sca) { $sca = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*]/", "", $sca); $qstr .= '&sca=' . urlencode($sca); } } else { $sca = ''; } if (isset($_REQUEST['sfl'])) { $sfl = trim($_REQUEST['sfl']); $sfl = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*\s\#]/", "", $sfl); if ($sfl) $qstr .= '&sfl=' . urlencode($sfl); // search field (๊ฒ€์ƒ‰ ํ•„๋“œ) } else { $sfl = ''; } if (isset($_REQUEST['stx'])) { // search text (๊ฒ€์ƒ‰์–ด) $stx = get_search_string(trim($_REQUEST['stx'])); if ($stx || $stx === '0') $qstr .= '&stx=' . urlencode(cut_str($stx, 20, '')); } else { $stx = ''; } if (isset($_REQUEST['sst'])) { $sst = trim($_REQUEST['sst']); $sst = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*\s]/", "", $sst); if ($sst) $qstr .= '&sst=' . urlencode($sst); // search sort (๊ฒ€์ƒ‰ ์ •๋ ฌ ํ•„๋“œ) } else { $sst = ''; } if (isset($_REQUEST['sod'])) { // search order (๊ฒ€์ƒ‰ ์˜ค๋ฆ„, ๋‚ด๋ฆผ์ฐจ์ˆœ) $sod = preg_match("/^(asc|desc)$/i", $sod) ? $sod : ''; if ($sod) $qstr .= '&sod=' . urlencode($sod); } else { $sod = ''; } if (isset($_REQUEST['sop'])) { // search operator (๊ฒ€์ƒ‰ or, and ์˜คํผ๋ ˆ์ดํ„ฐ) $sop = preg_match("/^(or|and)$/i", $sop) ? $sop : ''; if ($sop) $qstr .= '&sop=' . urlencode($sop); } else { $sop = ''; } if (isset($_REQUEST['spt'])) { // search part (๊ฒ€์ƒ‰ ํŒŒํŠธ[๊ตฌ๊ฐ„]) $spt = (int)$spt; if ($spt) $qstr .= '&spt=' . urlencode($spt); } else { $spt = ''; } if (isset($_REQUEST['page'])) { // ๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€ $page = (int)$_REQUEST['page']; if ($page) $qstr .= '&page=' . urlencode($page); } else { $page = ''; } if (isset($_REQUEST['w'])) { $w = substr($w, 0, 2); } else { $w = ''; } /** @var int $wr_id ๊ฒŒ์‹œํŒ ๊ธ€์˜ ID */ if (isset($_REQUEST['wr_id'])) { $wr_id = (int)$_REQUEST['wr_id']; } else { $wr_id = 0; } if (isset($_REQUEST['bo_table']) && ! is_array($_REQUEST['bo_table'])) { $bo_table = preg_replace('/[^a-z0-9_]/i', '', trim($_REQUEST['bo_table'])); $bo_table = substr($bo_table, 0, 20); } else { $bo_table = ''; } // URL ENCODING if (isset($_REQUEST['url'])) { $url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\[\]\\x80-\\xff]|i', '', trim($_REQUEST['url'])); $urlencode = urlencode($url); } else { $url = ''; $urlencode = urlencode($_SERVER['REQUEST_URI']); if (G5_DOMAIN) { $p = @parse_url(G5_DOMAIN); $p['path'] = isset($p['path']) ? $p['path'] : '/'; $urlencode = rtrim(G5_DOMAIN, '%2F').'%2F'.ltrim(urldecode(preg_replace("/^".urlencode($p['path'])."/", "", $urlencode)), '%2F'); } } if (isset($_REQUEST['gr_id'])) { if (!is_array($_REQUEST['gr_id'])) { $gr_id = preg_replace('/[^a-z0-9_]/i', '', trim($_REQUEST['gr_id'])); } } else { $gr_id = ''; } //=================================== // ์ž๋™๋กœ๊ทธ์ธ ๋ถ€๋ถ„์—์„œ ์ฒซ๋กœ๊ทธ์ธ์— ํฌ์ธํŠธ ๋ถ€์—ฌํ•˜๋˜๊ฒƒ์„ ๋กœ๊ทธ์ธ์ค‘์ผ๋•Œ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด์„œ ์ฝ”๋“œ๋„ ๋Œ€ํญ ์ˆ˜์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค. if (isset($_SESSION['ss_mb_id']) && $_SESSION['ss_mb_id']) { // ๋กœ๊ทธ์ธ์ค‘์ด๋ผ๋ฉด $member = get_member($_SESSION['ss_mb_id']); // ์ฐจ๋‹จ๋œ ํšŒ์›์ด๋ฉด ss_mb_id ์ดˆ๊ธฐํ™”, ๋˜๋Š” ์„ธ์…˜์— ์ €์žฅ๋œ ํšŒ์› ํ† ํฐ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ํ‹€๋ฆฌ๋ฉด ์ดˆ๊ธฐํ™” if( ($member['mb_intercept_date'] && $member['mb_intercept_date'] <= date("Ymd", G5_SERVER_TIME)) || ($member['mb_leave_date'] && $member['mb_leave_date'] <= date("Ymd", G5_SERVER_TIME)) || (function_exists('check_auth_session_token') && !check_auth_session_token($member['mb_datetime'])) ) { set_session('ss_mb_id', ''); $member = array(); } else { // ์˜ค๋Š˜ ์ฒ˜์Œ ๋กœ๊ทธ์ธ ์ด๋ผ๋ฉด if (substr($member['mb_today_login'], 0, 10) != G5_TIME_YMD) { // ์ฒซ ๋กœ๊ทธ์ธ ํฌ์ธํŠธ ์ง€๊ธ‰ insert_point($member['mb_id'], $config['cf_login_point'], G5_TIME_YMD.' ์ฒซ๋กœ๊ทธ์ธ', '@login', $member['mb_id'], G5_TIME_YMD); // ์˜ค๋Š˜์˜ ๋กœ๊ทธ์ธ์ด ๋  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ ๋งˆ์ง€๋ง‰ ๋กœ๊ทธ์ธ์ผ ์ˆ˜๋„ ์žˆ์Œ // ํ•ด๋‹น ํšŒ์›์˜ ์ ‘๊ทผ์ผ์‹œ์™€ IP ๋ฅผ ์ €์žฅ $sql = " update {$g5['member_table']} set mb_today_login = '".G5_TIME_YMDHIS."', mb_login_ip = '{$_SERVER['REMOTE_ADDR']}' where mb_id = '{$member['mb_id']}' "; sql_query($sql); } } } else { // ์ž๋™๋กœ๊ทธ์ธ --------------------------------------- // ํšŒ์›์•„์ด๋””๊ฐ€ ์ฟ ํ‚ค์— ์ €์žฅ๋˜์–ด ์žˆ๋‹ค๋ฉด (3.27) if ($tmp_mb_id = get_cookie('ck_mb_id')) { $tmp_mb_id = substr(preg_replace("/[^a-zA-Z0-9_]*/", "", $tmp_mb_id), 0, 20); // ์ตœ๊ณ ๊ด€๋ฆฌ์ž๋Š” ์ž๋™๋กœ๊ทธ์ธ ๊ธˆ์ง€ if (strtolower($tmp_mb_id) !== strtolower($config['cf_admin'])) { $sql = " select mb_password, mb_intercept_date, mb_leave_date, mb_email_certify, mb_datetime from {$g5['member_table']} where mb_id = '{$tmp_mb_id}' "; $row = sql_fetch($sql); if($row['mb_password']){ $key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['SERVER_SOFTWARE'] . $_SERVER['HTTP_USER_AGENT'] . $row['mb_password']); // ์ฟ ํ‚ค์— ์ €์žฅ๋œ ํ‚ค์™€ ๊ฐ™๋‹ค๋ฉด $tmp_key = get_cookie('ck_auto'); if ($tmp_key === $key && $tmp_key) { // ์ฐจ๋‹จ, ํƒˆํ‡ด๊ฐ€ ์•„๋‹ˆ๊ณ  ๋ฉ”์ผ์ธ์ฆ์ด ์‚ฌ์šฉ์ด๋ฉด์„œ ์ธ์ฆ์„ ๋ฐ›์•˜๋‹ค๋ฉด if ($row['mb_intercept_date'] == '' && $row['mb_leave_date'] == '' && (!$config['cf_use_email_certify'] || preg_match('/[1-9]/', $row['mb_email_certify'])) ) { // ์„ธ์…˜์— ํšŒ์›์•„์ด๋””๋ฅผ ์ €์žฅํ•˜์—ฌ ๋กœ๊ทธ์ธ์œผ๋กœ ๊ฐ„์ฃผ set_session('ss_mb_id', $tmp_mb_id); if(function_exists('update_auth_session_token')) update_auth_session_token($row['mb_datetime']); // ํŽ˜์ด์ง€๋ฅผ ์žฌ์‹คํ–‰ echo ""; exit; } } } // $row ๋ฐฐ์—ด๋ณ€์ˆ˜ ํ•ด์ œ unset($row); } } // ์ž๋™๋กœ๊ทธ์ธ end --------------------------------------- } // ์ตœ๊ณ ๊ด€๋ฆฌ์ž๊ฐ€ ์•„๋‹ˆ๋ฉด IP๋ฅผ ์ฒดํฌํ•œ๋‹ค. if (!(isset($member['mb_id']) && $config['cf_admin'] === $member['mb_id'])) { // ์ ‘๊ทผ๊ฐ€๋Šฅ IP $cf_possible_ip = trim($config['cf_possible_ip']); if ($cf_possible_ip) { $is_possible_ip = false; $pattern = explode("\n", $cf_possible_ip); for ($i=0; $i์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค."); } // ์ ‘๊ทผ์ฐจ๋‹จ IP $is_intercept_ip = false; $pattern = explode("\n", trim($config['cf_intercept_ip'])); for ($i=0; $i์ ‘๊ทผ ๋ถˆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค."); } } /** @var array $write ๊ธ€ ๋ฐ์ดํ„ฐ */ $write = array(); /** @var string $write_table ๊ฒŒ์‹œํŒ ํ…Œ์ด๋ธ” ์ „์ฒด์ด๋ฆ„ */ $write_table = ''; if ($bo_table) { $board = get_board_db($bo_table, true); if (isset($board['bo_table']) && $board['bo_table']) { set_cookie("ck_bo_table", $board['bo_table'], 86400 * 1); $gr_id = $board['gr_id']; // ๊ฒŒ์‹œํŒ ํ…Œ์ด๋ธ” ์ „์ฒด์ด๋ฆ„ $write_table = $g5['write_prefix'] . $bo_table; if (isset($wr_id) && $wr_id) { $write = get_write($write_table, $wr_id); } else if (isset($wr_seo_title) && $wr_seo_title) { $write = get_content_by_field($write_table, 'bbs', 'wr_seo_title', generate_seo_title($wr_seo_title)); if (isset($write['wr_id'])) { $wr_id = (int) $write['wr_id']; } } } // ๊ฒŒ์‹œํŒ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์—๋””ํ„ฐ๋ฅผ ์„ค์ • if (isset($board['bo_select_editor']) && $board['bo_select_editor']) { $config['cf_editor'] = $board['bo_select_editor']; } } if ($gr_id && !is_array($gr_id)) { $group = get_group($gr_id, true); } if ($config['cf_editor']) { define('G5_EDITOR_LIB', G5_EDITOR_PATH."/{$config['cf_editor']}/editor.lib.php"); } else { define('G5_EDITOR_LIB', G5_LIB_PATH."/editor.lib.php"); } // ํšŒ์›, ๋น„ํšŒ์› ๊ตฌ๋ถ„ $is_member = $is_guest = false; $is_admin = ''; if (isset($member['mb_id']) && $member['mb_id']) { $is_member = true; $is_admin = is_admin($member['mb_id']); $member['mb_dir'] = substr($member['mb_id'],0,2); } else { $is_guest = true; $member['mb_id'] = ''; $member['mb_level'] = 1; // ๋น„ํšŒ์›์˜ ๊ฒฝ์šฐ ํšŒ์›๋ ˆ๋ฒจ์„ ๊ฐ€์žฅ ๋‚ฎ๊ฒŒ ์„ค์ • } // ํ…Œ๋งˆ๊ฒฝ๋กœ if(defined('_THEME_PREVIEW_') && _THEME_PREVIEW_ === true) $config['cf_theme'] = isset($_GET['theme']) ? trim($_GET['theme']) : ''; if(isset($config['cf_theme']) && trim($config['cf_theme'])) { $theme_path = G5_PATH.'/'.G5_THEME_DIR.'/'.$config['cf_theme']; if(is_dir($theme_path)) { define('G5_THEME_PATH', $theme_path); define('G5_THEME_URL', G5_URL.'/'.G5_THEME_DIR.'/'.$config['cf_theme']); define('G5_THEME_MOBILE_PATH', $theme_path.'/'.G5_MOBILE_DIR); define('G5_THEME_LIB_PATH', $theme_path.'/'.G5_LIB_DIR); define('G5_THEME_CSS_URL', G5_THEME_URL.'/'.G5_CSS_DIR); define('G5_THEME_IMG_URL', G5_THEME_URL.'/'.G5_IMG_DIR); define('G5_THEME_JS_URL', G5_THEME_URL.'/'.G5_JS_DIR); } unset($theme_path); } // ํ…Œ๋งˆ ์„ค์ • ๋กœ๋“œ if(defined('G5_THEME_PATH') && is_file(G5_THEME_PATH.'/theme.config.php')) include_once(G5_THEME_PATH.'/theme.config.php'); // ์‡ผํ•‘๋ชฐ ์„ค์ • if (defined('G5_USE_SHOP') && G5_USE_SHOP) include_once(G5_PATH.'/shop.config.php'); //===================================================================================== // ์‚ฌ์šฉ๊ธฐ๊ธฐ ์„ค์ • // ํ…Œ๋งˆ์˜ G5_THEME_DEVICE ์„ค์ •์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ž ํ™”๋ฉด ์ œํ•œ๋จ // ํ…Œ๋งˆ์— ๋ณ„๋„ ์„ค์ •์ด ์—†๋Š” ๊ฒฝ์šฐ config.php G5_SET_DEVICE ์„ค์ •์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ž ํ™”๋ฉด ์ œํ•œ๋จ // pc ์„ค์ • ์‹œ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ๋„ PCํ™”๋ฉด ๋ณด์—ฌ์ง // mobile ์„ค์ • ์‹œ PC์—์„œ๋„ ๋ชจ๋ฐ”์ผํ™”๋ฉด ๋ณด์—ฌ์ง // both ์„ค์ • ์‹œ ์ ‘์† ๊ธฐ๊ธฐ์— ๋”ฐ๋ฅธ ํ™”๋ฉด ๋ณด์—ฌ์ง //------------------------------------------------------------------------------------- $is_mobile = false; $set_device = true; if(defined('G5_THEME_DEVICE') && G5_THEME_DEVICE != '') { switch(G5_THEME_DEVICE) { case 'pc': $is_mobile = false; $set_device = false; break; case 'mobile': $is_mobile = true; $set_device = false; break; default: break; } } if(defined('G5_SET_DEVICE') && $set_device) { switch(G5_SET_DEVICE) { case 'pc': $is_mobile = false; $set_device = false; break; case 'mobile': $is_mobile = true; $set_device = false; break; default: break; } } //============================================================================== //============================================================================== // Mobile ๋ชจ๋ฐ”์ผ ์„ค์ • // ์ฟ ํ‚ค์— ์ €์žฅ๋œ ๊ฐ’์ด ๋ชจ๋ฐ”์ผ์ด๋ผ๋ฉด ๋ธŒ๋ผ์šฐ์ € ์ƒ๊ด€์—†์ด ๋ชจ๋ฐ”์ผ๋กœ ์‹คํ–‰ // ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ๋ธŒ๋ผ์šฐ์ €์˜ HTTP_USER_AGENT ์— ๋”ฐ๋ผ ๋ชจ๋ฐ”์ผ ๊ฒฐ์ • // G5_MOBILE_AGENT : config.php ์—์„œ ์„ ์–ธ //------------------------------------------------------------------------------ if (G5_USE_MOBILE && $set_device) { if (isset($_REQUEST['device']) && $_REQUEST['device']=='pc') $is_mobile = false; else if (isset($_REQUEST['device']) && $_REQUEST['device']=='mobile') $is_mobile = true; else if (isset($_SESSION['ss_is_mobile'])) $is_mobile = $_SESSION['ss_is_mobile']; else if (is_mobile()) $is_mobile = true; } else { $set_device = false; } $_SESSION['ss_is_mobile'] = $is_mobile; define('G5_IS_MOBILE', $is_mobile); define('G5_DEVICE_BUTTON_DISPLAY', $set_device); if (G5_IS_MOBILE) { $g5['mobile_path'] = G5_PATH.'/'.G5_MOBILE_DIR; } //============================================================================== //============================================================================== // ์Šคํ‚จ๊ฒฝ๋กœ //------------------------------------------------------------------------------ if (G5_IS_MOBILE) { $board_skin_path = get_skin_path('board', $board['bo_mobile_skin']); $board_skin_url = get_skin_url('board', $board['bo_mobile_skin']); $member_skin_path = get_skin_path('member', $config['cf_mobile_member_skin']); $member_skin_url = get_skin_url('member', $config['cf_mobile_member_skin']); $new_skin_path = get_skin_path('new', $config['cf_mobile_new_skin']); $new_skin_url = get_skin_url('new', $config['cf_mobile_new_skin']); $search_skin_path = get_skin_path('search', $config['cf_mobile_search_skin']); $search_skin_url = get_skin_url('search', $config['cf_mobile_search_skin']); $connect_skin_path = get_skin_path('connect', $config['cf_mobile_connect_skin']); $connect_skin_url = get_skin_url('connect', $config['cf_mobile_connect_skin']); $faq_skin_path = get_skin_path('faq', $config['cf_mobile_faq_skin']); $faq_skin_url = get_skin_url('faq', $config['cf_mobile_faq_skin']); } else { $board_skin_path = get_skin_path('board', $board['bo_skin']); $board_skin_url = get_skin_url('board', $board['bo_skin']); $member_skin_path = get_skin_path('member', $config['cf_member_skin']); $member_skin_url = get_skin_url('member', $config['cf_member_skin']); $new_skin_path = get_skin_path('new', $config['cf_new_skin']); $new_skin_url = get_skin_url('new', $config['cf_new_skin']); $search_skin_path = get_skin_path('search', $config['cf_search_skin']); $search_skin_url = get_skin_url('search', $config['cf_search_skin']); $connect_skin_path = get_skin_path('connect', $config['cf_connect_skin']); $connect_skin_url = get_skin_url('connect', $config['cf_connect_skin']); $faq_skin_path = get_skin_path('faq', $config['cf_faq_skin']); $faq_skin_url = get_skin_url('faq', $config['cf_faq_skin']); } //============================================================================== // ๋ฐฉ๋ฌธ์ž์ˆ˜์˜ ์ ‘์†์„ ๋‚จ๊น€ include_once(G5_BBS_PATH.'/visit_insert.inc.php'); // ์ผ์ • ๊ธฐ๊ฐ„์ด ์ง€๋‚œ DB ๋ฐ์ดํ„ฐ ์‚ญ์ œ ๋ฐ ์ตœ์ ํ™” include_once(G5_BBS_PATH.'/db_table.optimize.php'); // common.php ํŒŒ์ผ์„ ์ˆ˜์ •ํ•  ํ•„์š”๊ฐ€ ์—†๋„๋ก ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. $extend_file = array(); $tmp = dir(G5_EXTEND_PATH); while ($entry = $tmp->read()) { // php ํŒŒ์ผ๋งŒ include ํ•จ if (preg_match("/(\.php)$/i", $entry)) $extend_file[] = $entry; } if(!empty($extend_file) && is_array($extend_file)) { natsort($extend_file); foreach($extend_file as $file) { include_once(G5_EXTEND_PATH.'/'.$file); } unset($file); } unset($extend_file); if($is_member && !$is_admin && (!defined("G5_CERT_IN_PROG") || !G5_CERT_IN_PROG) && $config['cf_cert_use'] <> 0 && $config['cf_cert_req']) { // ๋ณธ์ธ์ธ์ฆ์ด ํ•„์ˆ˜์ผ๋•Œ if ((empty($member['mb_certify']) || (!empty($member['mb_certify']) && strlen($member['mb_dupinfo']) == 64))) { // di๋กœ ์ธ์ฆ๋˜์–ด ์žˆ๊ฑฐ๋‚˜ ๋ณธ์ธ์ธ์ฆ์ด ์•ˆ๋œ ๊ณ„์ •์ผ๋•Œ goto_url(G5_BBS_URL."/member_cert_refresh.php"); } } ob_start(); // ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ go(-1) ํ•จ์ˆ˜๋ฅผ ์“ฐ๋ฉด ํผ๊ฐ’์ด ์‚ฌ๋ผ์งˆ๋•Œ ํ•ด๋‹น ํผ์˜ ์ƒ๋‹จ์— ์‚ฌ์šฉํ•˜๋ฉด // ์บ์‰ฌ์˜ ๋‚ด์šฉ์„ ๊ฐ€์ ธ์˜ด. ์™„์ „ํ•œ์ง€๋Š” ๊ฒ€์ฆ๋˜์ง€ ์•Š์Œ header('Content-Type: text/html; charset=utf-8'); $gmnow = gmdate('D, d M Y H:i:s') . ' GMT'; header('Expires: 0'); // rfc2616 - Section 14.21 header('Last-Modified: ' . $gmnow); header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1 header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1 header('Pragma: no-cache'); // HTTP/1.0 run_event('common_header');