\'\"\\\'\\\"\%\=\(\)\/\^\*]/", '', $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 { ?>
GPL! OPEN SOURCE GNUBOARD