naisi_validate_client_mark
验证 client mark 是否与声明的客户端来源格式一致。
函数签名
function naisi_validate_client_mark(string $client_mark, string $client_source): bool
调用前提
应用入口先调用 naisi_is_ext_license_valid 并确认返回 true。认证 Agent 发布的许可与 heartbeat 快照,并建立或复用本请求的 BASIC 证明;不会读取许可文件或检查当前 Host。
授权类别:LICENSE;执行模式:BASIC。许可不代替登录、租户或权限上下文;身份与数据要求见本页参数及用途说明。
参数
$client_mark
- 类型:
string - 必填:是
- 默认值:无
- 方向:输入参数。
固定 18 位 [a-z0-9] 标识:11 位设备摘要、6 位可重复随机字符、1 位校验字符。
$client_source
- 类型:
string - 必填:是
- 默认值:无
- 方向:输入参数。
客户端来源代码,例如 Web、移动端或其他受支持来源。
返回值
类型:bool
长度、字符集和来源绑定的校验字符均有效时返回 true,否则返回 false;不验证设备摘要。
调用示例
当前请求须满足上方调用前提;请检查实际返回值和引用输出,随机结果及数据包内容以运行环境为准。
$clientInfo = [
'userAgent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/150.0.0.0',
'language' => 'zh-CN',
'colorDepth' => 24,
'pixelRatio' => 1,
'hardwareConcurrency' => 8,
'screenResolution' => '1920x1080',
'availableScreenResolution' => '1920x1040',
'timezoneOffset' => -480,
'timezone' => 'Asia/Shanghai',
'sessionStorage' => true,
'localStorage' => true,
'indexedDb' => true,
'openDatabase' => false,
'platform' => 'Win32',
'hasLiedResolution' => false,
'hasLiedOs' => false,
'hasLiedBrowser' => false,
'touchSupport' => false,
];
$error = null;
$clientMark = naisi_generate_client_mark($clientInfo, 'web-admin', $error);
if ($clientMark === null) { throw new RuntimeException('客户端标识生成失败'); }
$result = naisi_validate_client_mark($clientMark, 'web-admin');
var_dump($result);
版本信息
- 自版本:
1.0.6 - 实现模块:
client - 授权类别:
LICENSE/BASIC - 失败回退:
false - 文档同步:
2026-10-18