get_visitor_Info(COSTM_IP_SCORE, CHECK_KEY, CountryAllowlist::resolvedConfig());
$reason = '';
CheckPipeline::run();
if (!isset($_SESSION['check_result']) || $_SESSION['check_result'] === '') {
$_SESSION['check_result'] = 'false';
if ($reason === '') {
$reason = '未产生判定结果,默认安全页';
}
}
$reason = cloak_finalize_reason($reason, $_SESSION['check_result']);
//echo "
result:".$_SESSION["check_result"]."
";
//$end_time = date("H:i:s");
//echo "".$begin_time .' | '. $end_time."
";
// if( WRITE_LOG == "1")
// {
// $c_ip = $_SESSION["gcu_ip"]?$_SESSION["gcu_ip"]:$_SERVER['REMOTE_ADDR'];
// $fp=fopen(dirname(__FILE__)."/jump.txt","a+");
// fwrite($fp,date("Y-m-d H:i:s").' | 来源判断 | ' . $reason . "|" . $_SESSION["check_result"].' | '.$config_name.' | '.$c_ip.' | '. get_SERVER_value('HTTP_REFERER') ."\n");
// fclose($fp);
// }
// get devices
require_once dirname(__FILE__) . '/Mobile-Detect/src/MobileDetect.php';
$detect = new \Detection\MobileDetect;
$deviceType = ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' : 'phone') : 'computer');
if($deviceType == 'tablet') {
$patterns = $detect::getTabletDevices();
} elseif($deviceType == 'phone') {
$patterns = $detect::getPhoneDevices();
} elseif($deviceType == 'computer') {
$patterns = "";
$model = "PC";
}
if($patterns) {
foreach ($patterns as $brand => $pattern) {
if (preg_match('/' . $pattern . '/i', $_SERVER['HTTP_USER_AGENT'], $matches)) {
$model = $brand . ' ' . (isset($matches[1])?$matches[1]:"");
break;
}
}
}
if (trim($model) == 'iPhone') {
$model = !empty($_COOKIE['imodel'])?strip_tags($_COOKIE['imodel']):"iPhone";
}
$logs = array();
$logs['site_name'] = str_replace("www.", "", $_SERVER['HTTP_HOST']);
$logs['customers_ip'] = $v_info->v_ip;
$logs['country'] = substr($v_info->v_country, 0, 2);
$logs['v_Browser'] = $v_info->v_Browser;
$logs['v_referer'] = $v_info->v_referer;
$logs['Client'] = $v_info->v_Client;
$logs['v_PageURL'] = $v_info->v_curPageURL;
$logs['v_site_server'] = $v_info->v_site_server;
$logs['accept_language'] = $v_info->accept_language;
$logs['visit_md5_code'] = $v_info->visit_md5_code;
$logs['campagin_id'] = $v_info->costm_ip_score;
$logs['result'] = $_SESSION["check_result"];
$logs['device'] = $model;
$logs['reason'] = $reason;
if ($__cloak_debug_on) {
$__force_risk_dbg = (defined('CLOAK_RISK_NUMBER') && CLOAK_RISK_NUMBER > 0 && CLOAK_RISK_NUMBER <= 90);
CloakDebugPage::setExitPoint(__LINE__, '判定完成 → CloakDebugPage::renderAndExit()(正常截停)', [
'check_result' => isset($_SESSION['check_result']) ? $_SESSION['check_result'] : 'false',
'reason' => $reason,
]);
CloakDebugPage::renderAndExit([
'config_name' => $config_name,
'check_result' => isset($_SESSION['check_result']) ? $_SESSION['check_result'] : 'false',
'reason' => $reason,
'visitor' => $v_info,
'logs' => $logs,
'device' => isset($model) ? $model : '',
'force_risk' => $__force_risk_dbg,
'mode' => SHOW_SITE_MODE_SWITCH,
'fp_urls' => defined('DB_FP') ? DB_FP : [],
'zp_url' => defined('DB_ZP') ? DB_ZP : '',
'started_at' => $__cloak_debug_started,
'session' => [
'check_result' => $_SESSION['check_result'] ?? '(未设置)',
'visit_to_1' => $_SESSION['visit_to_1'] ?? '',
'visit_to_2' => $_SESSION['visit_to_2'] ?? '',
'visit_to_3' => $_SESSION['visit_to_3'] ?? '',
'gcuid' => $_SESSION['gcuid'] ?? '',
'gcu_ip' => $_SESSION['gcu_ip'] ?? '',
],
]);
}
RouteResolver::dispatch([
'v_info' => $v_info,
'logs' => $logs,
'config_name' => $config_name,
'reason' => $reason,
'model' => isset($model) ? $model : '',
]);
?>