Files
CLOAK/lib/Cloak/ReasonHelper.php
T
2026-06-16 04:58:56 +08:00

88 lines
2.4 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/**
* 判定理由辅助
*/
if (!function_exists('cloak_reason_append')) {
function cloak_reason_append($reason, $suffix)
{
$reason = trim((string) $reason);
$suffix = trim((string) $suffix);
if ($suffix === '') {
return $reason;
}
if ($reason === '') {
return $suffix;
}
if (strpos($reason, $suffix) !== false) {
return $reason;
}
return $reason . '' . $suffix;
}
}
if (!function_exists('cloak_reason_or')) {
function cloak_reason_or($reason, $fallback)
{
$reason = trim((string) $reason);
return $reason !== '' ? $reason : (string) $fallback;
}
}
if (!function_exists('cloak_api_reason')) {
function cloak_api_reason(array $return, $checkResult)
{
$reason = trim((string) ($return['reason'] ?? ''));
if ($reason !== '') {
return $reason;
}
$pass = ($checkResult === 'true' || $checkResult === true || !empty($return['result']));
return $pass ? 'API判定通过' : 'API判定拒绝';
}
}
if (!function_exists('cloak_cache_hit_log_reason')) {
/**
* 缓存判定落库 reasontrue 为空;false 固定为「缓存」。
*
* @param string $result
*/
function cloak_cache_hit_log_reason($result)
{
return cloak_normalize_log_reason((string) $result, (string) $result === 'true' ? '' : '缓存');
}
}
if (!function_exists('cloak_normalize_log_reason')) {
/**
* 落库 reason 规范化:true 必须为空;false 必须有值;wait 保留检测中文案。
*
* @param string $result
* @param mixed $reason
*/
function cloak_normalize_log_reason($result, $reason)
{
$result = (string) $result;
$reason = trim((string) $reason);
if ($result === 'true') {
return '';
}
if ($result === 'wait') {
return $reason !== '' ? $reason : '二次风控检测中';
}
if ($reason === '') {
return '判定拒绝(安全页)';
}
return $reason;
}
}
if (!function_exists('cloak_finalize_reason')) {
function cloak_finalize_reason($reason, $checkResult)
{
$result = ($checkResult === 'true') ? 'true' : (($checkResult === 'false') ? 'false' : (string) $checkResult);
return cloak_normalize_log_reason($result, $reason);
}
}