日志升级与缓存修复最终版
This commit is contained in:
@@ -137,6 +137,11 @@ reg_assert('fp 模式配置生效', ($fpResult['mode'] ?? '') === 'fp', json_enc
|
||||
|
||||
$zpResult = run_pipeline_subprocess($root, 'regression_zp.php');
|
||||
reg_assert('zp 模式配置生效', ($zpResult['mode'] ?? '') === 'zp', json_encode($zpResult, JSON_UNESCAPED_UNICODE));
|
||||
reg_assert('zp 模式判定 false + 正品模式', ($zpResult['result'] ?? null) === 'false' && ($zpResult['reason'] ?? '') === '正品模式', json_encode($zpResult, JSON_UNESCAPED_UNICODE));
|
||||
|
||||
$earlyRouteOut = shell_exec(escapeshellarg(PHP_BINARY) . ' ' . escapeshellarg($root . '/tools/verify_early_route_gate.php') . ' 2>/dev/null');
|
||||
$earlyRouteJson = json_decode((string) $earlyRouteOut, true);
|
||||
reg_assert('白名单/正品早期快速路径', ($earlyRouteJson['ok'] ?? false) === true, (string) $earlyRouteOut);
|
||||
|
||||
// ── 7. 指纹跳转模板 ───────────────────────────────────────────
|
||||
echo "[7] 指纹跳转模板\n";
|
||||
@@ -158,12 +163,17 @@ reg_assert('cloak_fingerprint_cookies_ready', cloak_fingerprint_cookies_ready())
|
||||
$_SERVER['HTTP_HOST'] = 'shop.example.com';
|
||||
reg_assert('cloak_fingerprint_cookie_domain', cloak_fingerprint_cookie_domain() === '.example.com');
|
||||
|
||||
$cookieDomainOut = shell_exec(escapeshellarg(PHP_BINARY) . ' ' . escapeshellarg($root . '/tools/verify_cookie_domain.php') . ' 2>/dev/null');
|
||||
$cookieDomainJson = json_decode((string) $cookieDomainOut, true);
|
||||
reg_assert('Cookie 域推断与 JS 选项', ($cookieDomainJson['ok'] ?? false) === true, (string) $cookieDomainOut);
|
||||
|
||||
$_GET = ['c' => 'index'];
|
||||
ob_start();
|
||||
include $root . '/dist/index.php';
|
||||
$distJs = ob_get_clean();
|
||||
reg_assert('dist/index.php 输出 Cookies.set', strpos($distJs, "fpCookies.set('ctime'") !== false);
|
||||
reg_assert('dist/index.php 输出指纹完成回调', strpos($distJs, '__cloakFingerprintDone') !== false);
|
||||
reg_assert('dist/index.php 输出 sameSite Lax', strpos($distJs, '"sameSite":"Lax"') !== false || strpos($distJs, '"sameSite": "Lax"') !== false);
|
||||
reg_assert('dist/index.php 无 PHP Fatal', stripos($distJs, 'Fatal error') === false);
|
||||
|
||||
$virtualDetectOut = shell_exec(escapeshellarg(PHP_BINARY) . ' ' . escapeshellarg($root . '/tools/verify_virtual_detect.php') . ' 2>/dev/null');
|
||||
@@ -234,10 +244,30 @@ $riskCacheOut = shell_exec(escapeshellarg(PHP_BINARY) . ' ' . escapeshellarg($ro
|
||||
$riskCacheJson = json_decode((string) $riskCacheOut, true);
|
||||
reg_assert('二次风控 Session 缓存与 CORS', ($riskCacheJson['ok'] ?? false) === true, (string) $riskCacheOut);
|
||||
|
||||
$judgmentCacheOut = shell_exec(escapeshellarg(PHP_BINARY) . ' ' . escapeshellarg($root . '/tools/verify_client_judgment_cache.php') . ' 2>/dev/null');
|
||||
$judgmentCacheJson = json_decode((string) $judgmentCacheOut, true);
|
||||
reg_assert('客户端 Session 统一缓存策略', ($judgmentCacheJson['ok'] ?? false) === true, (string) $judgmentCacheOut);
|
||||
|
||||
$datalistHelperOut = shell_exec(escapeshellarg(PHP_BINARY) . ' ' . escapeshellarg($root . '/tools/verify_datalist_helper.php') . ' 2>/dev/null');
|
||||
$datalistHelperJson = json_decode((string) $datalistHelperOut, true);
|
||||
reg_assert('日志列表 VisitorLogListHelper', ($datalistHelperJson['ok'] ?? false) === true, (string) $datalistHelperOut);
|
||||
|
||||
$riskSessionOut = shell_exec(escapeshellarg(PHP_BINARY) . ' ' . escapeshellarg($root . '/tools/verify_risk_session.php') . ' 2>/dev/null');
|
||||
$riskSessionJson = json_decode((string) $riskSessionOut, true);
|
||||
reg_assert('二次风控 Session 防重复写库', ($riskSessionJson['ok'] ?? false) === true, (string) $riskSessionOut);
|
||||
|
||||
$judgmentPriOut = shell_exec(escapeshellarg(PHP_BINARY) . ' ' . escapeshellarg($root . '/tools/verify_judgment_priority.php') . ' 2>/dev/null');
|
||||
$judgmentPriJson = json_decode((string) $judgmentPriOut, true);
|
||||
reg_assert('判定优先级顺序', ($judgmentPriJson['ok'] ?? false) === true, (string) $judgmentPriOut);
|
||||
|
||||
$visitLogOut = shell_exec(escapeshellarg(PHP_BINARY) . ' ' . escapeshellarg($root . '/tools/verify_visit_log_lifecycle.php') . ' 2>/dev/null');
|
||||
$visitLogJson = json_decode((string) $visitLogOut, true);
|
||||
reg_assert('Visit 生命周期与 reason 规范化', ($visitLogJson['ok'] ?? false) === true, (string) $visitLogOut);
|
||||
|
||||
$waitLogOut = shell_exec(escapeshellarg(PHP_BINARY) . ' ' . escapeshellarg($root . '/tools/verify_wait_log_write.php') . ' 2>/dev/null');
|
||||
$waitLogJson = json_decode((string) $waitLogOut, true);
|
||||
reg_assert('二次风控 wait 日志同步完整落库', ($waitLogJson['ok'] ?? false) === true, (string) $waitLogOut);
|
||||
|
||||
// ── 12. ConfigLoader / 宝塔部署文件 ───────────────────────────
|
||||
echo "[12] ConfigLoader 与宝塔部署\n";
|
||||
require_once $root . '/config/ConfigLoader.php';
|
||||
|
||||
Reference in New Issue
Block a user