安全模型
概述
@appzgatenz/label-print-topbridge-js 采用多层安全防御机制,防止未授权调用和数据泄露。
1. 固定本地连接
SDK 仅与本地运行的 Tray App 通信,不提供远程服务器地址的配置选项。这从根本上防止了将 SDK 重定向到远程服务器的可能性。
2. 来源校验
SDK 请求携带调用方来源标识,由服务端进行校验。未授权的来源将被 Tray App 拒绝。
3. URL 安全校验
SDK 在展示来自 Tray App 错误响应的外部链接前,校验协议:
typescript
// 仅允许以下协议
'https://' ✅
'ms-windows-store://' ✅
'http://' ❌
'javascript:' ❌
'data:' ❌4. 输入净化
SDK 自动剥离打印数据中的公式注入前缀(如 = 和 =@),防止通过打印数据注入。
已知限制
| 限制 | 说明 | 缓解措施 |
|---|---|---|
| 浏览器端无法防止页面模拟 | 恶意网页可以自己实现 WS 协议 | Tray App 来源校验 + 服务端验证 |
| WS 协议无加密 | localhost 通信默认不加密 | 本地通信不需要加密(不存在网络传输风险) |