简体中文

文本和日常工具·二维码和条形码工具包

当您在浏览器而不是服务器上生成二维码时会发生什么

· 工作原理

二维码 隐私 浏览器处理

渲染 QR 网格时,有效负载保留在浏览器选项卡内
原始 ToolAcre 矢量图

将服务器渲染的 QR 生成器与在选项卡中作为 JavaScript 运行的 QR 生成器进行对比,准确显示每种情况下哪些数据离开您的设备以及如何自行验证。

本地和远程生成是不同的架构;该存储库仅证明 ToolAcre 的本地路径

两个页面可以使用不同的数据路径显示相同的 QR 图像。 ToolAcre 的源代码证明了它的生成器将文本传递给浏览器端 JavaScript,接收内存中的矩阵并在本地呈现它;它不能证明不相关的服务如何工作。

区别可以在函数边界处看到。 `buildPayload` 返回一个字符串加上注释和警告; `generateQrMatrix` 使用该字符串; `renderQrSvg` 或 `drawQrToCanvas` 使用布尔矩阵。没有一个接受服务器响应或远程图像 URL。不同的站点可能使用基于请求的架构,但诊断它需要观察该站点,而不是将“在线生成器”视为一种统一的实现。

远程生成器可以接收有效负载文本,但另一个服务的日志记录行为需要单独的证据

服务器渲染架构必须向远程进程发送足够的信息来制作映像,但日志保留、缓存和分析因服务而异。将这些行为视为对该提供者的问题,而不是将假设作为观察到的事实提出。

远程端点在生成特定于有效负载的模块之前需要有效负载或等效表示。在没有证据的情况下,收到后会发生什么仍然未知:一项服务可能会丢弃请求,另一项服务可能会保留应用程序日志,第三项服务可能会将数据放入错误报告中。因此,本文教授数据流检查,而不是声称每个服务器生成器都存储提交的文本。

浏览器端路径 — 编码为比特流的文本、添加的纠错和绘制的网格,全部在页面内

在 ToolAcre 中,TextEncoder 创建 UTF-8 字节,qrcode-generator 构建矩阵,本地 SVG 或画布代码绘制模块。这些函数接受页面中已保存的值,并且不包含携带负载的 fetch 调用。

本地渲染也使导出构建保持在同一过程中。 SVG 被组装为带有合并水平运行的转义标记; PNG 被绘制到带有整数模块矩形的画布上,并作为浏览器创建的 blob 下载。输出不会以 HTTP 响应形式到达。该机制比锁图标更有力,锁图标可以保护连接,但没有说明接收服务器的功能。

如何自行检查 - 打开浏览器的网络面板,生成代码,并观察从未出现的请求

在输入独特的测试字符串之前打开开发人员工具,清除请求列表,生成代码,并搜索该字符串的请求 URL 和正文。这验证了狭义的说法,即 Generation 在您观察到的会话期间没有传输有效负载。

同时使用请求列表和来源证据。页面加载后清除面板,从唯一的无害标记生成,并检查 URL、有效负载和表单数据中标记的新请求。然后确认生成路径没有 fetch 或 XHR 调用。单独检查任一者都较弱:运行时观察是一个会话,而静态检查可能会错过注入的部署行为。

第三方页面资源和有效负载传输是单独的问题,不得混为一谈

页面仍然可以请求脚本、字体、广告或分析,而不发送正在编码的文本。相反,看起来空的列表并不能证明先前的页面加载、浏览器扩展或未来的部署更改,因此请仔细确定结论。

存储库的重点工具面板表示生成器不会发出网络请求,而更广泛的发布合同则警告生产页面可以加载同意管理的站点资源。两者都可以是正确的,因为有效负载处理和页面传送是单独的流程。准确报告搜索内容和搜索时间。 “生成请求中缺少标记”是可重现的; “该页面无处可泄露”比证据更广泛。

工作示例:过滤测试负载的网络日志,而不是期望完全静默的页面

使用无害的 Intranet 形状示例,例如 https://intranet.invalid/menu-check-47,,然后过滤网络日志以进行菜单检查-47。预期的证据不是承载请求,也不是每个页面资源都会消失的承诺。

例如,输入 `https://intranet.invalid/menu-check-47`,生成,然后搜索捕获的请求详细信息以查找 `menu-check-47`。还要检查有效负载预览,以验证构建器没有悄悄替换另一个地址。一个清晰的结果表明,在观察到的生成步骤中,相同的独特值从形式局部转移到矩阵。它不验证浏览器扩展、早期请求或未来的部署版本。

这不包括:后期镜像共享、部署资源或不相关的网络工具

本地生成不控制导出图像的上传位置、其目标服务器如何记录访问,或者不相关的 ToolAcre 媒体工具可能按设计获取哪些内容。当有人扫描打印的代码后,它也不能保证秘密的安全。

最终图像是数据的便携式副本。将其上传到文档系统、通过电子邮件发送或打印可能会向新人泄露有效负载,即使生成是本地的。扫描时,解码后的 URL 还会联系其目的地。本地处理从创建中删除一个处理器;它不会将包含密码或内部地址的二维码转换为加密存储。

要点 — QR 和条形码工具包在您的选项卡中执行整个工作,您可以在一分钟内验证该工作

有用的隐私属性是精确的:QR 编码和渲染在检查的实现中本地操作。当有效负载敏感时,根据部署的页面验证该属性,并且更喜欢使用离线软件来获取具有严格威胁模型的凭据。

对于普通链路,本地生成提供了简单且可检查的路由。对于凭据或受监管的数据,请考虑是否应该存在 QR 图像,并在页面资源不在威胁模型范围内时使用离线工具。隐私声明应该遵循完整的生命周期——进入、生成、下载、共享、扫描和目的地——而不是在确认编码器本身缺乏网络调用后停止。