日志升级与缓存修复最终版
This commit is contained in:
Regular → Executable
+32
-6
@@ -1,7 +1,9 @@
|
||||
<?php
|
||||
require_once __DIR__ . '/WhitelistGate.php';
|
||||
require_once __DIR__ . '/FpUrlHelper.php';
|
||||
require_once __DIR__ . '/RiskSecondaryGate.php';
|
||||
require_once __DIR__ . '/RiskSecondaryCache.php';
|
||||
require_once __DIR__ . '/RiskSecondarySession.php';
|
||||
require_once __DIR__ . '/ClientIpResolver.php';
|
||||
|
||||
/**
|
||||
@@ -17,6 +19,10 @@ class SimulationRouteResolver
|
||||
{
|
||||
extract($ctx, EXTR_SKIP);
|
||||
|
||||
if (!empty($_SESSION['cloak_whitelist_fast'])) {
|
||||
return self::whitelistFpBranch($logs, $config_name ?? '');
|
||||
}
|
||||
|
||||
if (SHOW_SITE_MODE_SWITCH == 'zp') {
|
||||
return self::safeBranch($logs, $v_info);
|
||||
}
|
||||
@@ -31,6 +37,25 @@ class SimulationRouteResolver
|
||||
return self::safeBranch($logs, $v_info);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $logs
|
||||
*/
|
||||
private static function whitelistFpBranch(array $logs, $config_name)
|
||||
{
|
||||
$logs['result'] = 'true';
|
||||
$logs['reason'] = '';
|
||||
$resolved = FpUrlHelper::resolve($config_name, true);
|
||||
$logs['fp_url'] = $resolved['url'] !== '' ? $resolved['url'] : FpUrlHelper::fallbackUrl();
|
||||
$log_id = write_log_db($logs);
|
||||
|
||||
return [
|
||||
'branch' => 'fp_page',
|
||||
'log_id' => $log_id,
|
||||
'logs' => $logs,
|
||||
'needs_secondary' => false,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $logs
|
||||
*/
|
||||
@@ -67,18 +92,19 @@ class SimulationRouteResolver
|
||||
$_SESSION['visit_to_3'] = '1';
|
||||
}
|
||||
|
||||
if (RiskSecondaryGate::isEnabled()) {
|
||||
if (RiskSecondaryGate::isEnabledForRequest()) {
|
||||
$cached = RiskSecondaryCache::get(ClientIpResolver::resolve());
|
||||
if ($cached !== null) {
|
||||
return self::fpFromRiskCache($logs, $v_info, $config_name, $cached);
|
||||
}
|
||||
}
|
||||
|
||||
if (($_SESSION['visit_to_3'] ?? '1') != '3' && RiskSecondaryGate::isEnabled()) {
|
||||
if (($_SESSION['visit_to_3'] ?? '1') != '3' && RiskSecondaryGate::isEnabledForRequest()) {
|
||||
$logs['result'] = 'wait';
|
||||
$logs['reason'] = self::mergeReason($logs['reason'] ?? '', '二次风控检测中');
|
||||
$logs['fp_url'] = '';
|
||||
$log_id = write_log_db($logs);
|
||||
RiskSecondarySession::markWaitLog($log_id);
|
||||
|
||||
return [
|
||||
'branch' => 'secondary_risk',
|
||||
@@ -89,10 +115,10 @@ class SimulationRouteResolver
|
||||
}
|
||||
|
||||
$logs['result'] = 'true';
|
||||
$logs['reason'] = $logs['reason'] ?? '';
|
||||
$logs['reason'] = '';
|
||||
$resolved = FpUrlHelper::resolve($config_name, true);
|
||||
$logs['fp_url'] = $resolved['url'] !== '' ? $resolved['url'] : FpUrlHelper::fallbackUrl();
|
||||
$log_id = write_log_db($logs);
|
||||
$log_id = RiskSecondarySession::shouldSkipFpPageLog() ? null : write_log_db($logs);
|
||||
|
||||
return [
|
||||
'branch' => 'fp_page',
|
||||
@@ -112,7 +138,7 @@ class SimulationRouteResolver
|
||||
$apiResponse = RiskSecondaryCache::toApiResponse($cached);
|
||||
|
||||
$logs['result'] = $apiResponse['result'] ? 'true' : 'false';
|
||||
$logs['reason'] = self::mergeReason($logs['reason'] ?? '', $apiResponse['reason']);
|
||||
$logs['reason'] = cloak_cache_hit_log_reason($logs['result']);
|
||||
$logs['fp_url'] = trim((string) ($apiResponse['link'] ?? ''));
|
||||
if ($logs['fp_url'] === '') {
|
||||
$logs['fp_url'] = $logs['result'] === 'true'
|
||||
@@ -124,7 +150,7 @@ class SimulationRouteResolver
|
||||
return self::safeBranch($logs, $v_info);
|
||||
}
|
||||
|
||||
$log_id = write_log_db($logs);
|
||||
$log_id = RiskSecondarySession::shouldSkipFpPageLog() ? null : write_log_db($logs);
|
||||
|
||||
return [
|
||||
'branch' => 'fp_page_cache',
|
||||
|
||||
Reference in New Issue
Block a user