日志升级与缓存修复最终版

This commit is contained in:
root
2026-06-16 04:58:56 +08:00
parent bcb9f293a6
commit 6b3b99b0f1
61 changed files with 2405 additions and 333 deletions
+32 -6
View File
@@ -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',