Screenshot PDF
返回博客

如何用浏览器开发者工具验证截图转 PDF 的本地处理

发布于: 2026-08-08审核于: 2026-08-08Screenshot PDF 编辑团队
如何用浏览器开发者工具验证截图转 PDF 的本地处理

“本地处理”应该是可测试的。隐私声明很有用,但浏览器工具还可以公开可观察到的证据:发生了哪些网络请求、请求负载包含哪些内容、何时加载可选分析以及上传的图像是否离开浏览器。

本指南记录了当前的屏幕截图 PDF 0.0.13 架构,并提供了可重现的 DevTools 过程。这不是正式的渗透测试,空的网络面板无法证明所有未来版本的行为都是相同的。记录版本并在材料变更后重复检查。

本地处理在这里意味着什么

在编辑器中,浏览器使用 FileReader 读取选定的图像,将其解码为图像元素,将像素绘制到 Canvas 中,创建注释快照作为本地对象 URL,并使用 jsPDF 生成 PDF 数据。屏幕截图内容、注释像素、水印文本、预览和生成的 PDF 字节不会发送到屏幕截图 PDF 应用程序服务器。

网站本身仍然需要 HTML、JavaScript、样式、字体或图像的正常基础设施请求。 Cloudflare 可以处理连接元数据,例如 IP 地址和请求标头。可选的 Google Analytics 是一个单独的路径,仅在分析同意后加载。本地文档处理并不意味着页面的网络请求为零。

当出站文档路径被阻止时,文档处理循环仍保留在浏览器内部。

准备非敏感测试文件

不要从银行对账单或私人谈话开始隐私测试。创建一个合成 PNG,其中包含彩色网格、唯一短语和已知尺寸(例如 1200 × 3000 像素)。这个独特的短语可以帮助您搜索 DevTools 有效负载,而不会暴露真实信息。

如果您的操作系统提供了测试文件的哈希值,请记录该哈希值。哈希可以帮助区分确切的测试输入,尽管它本身并不能证明文件的处理位置。

在选择文件之前打开 DevTools

  1. 在新选项卡中打开屏幕截图 PDF 编辑器。
  2. 打开 Chrome 开发者工具并选择 网络
  3. 启用保留日志并禁用测试会话的缓存。
  4. 清除现有请求。
  5. 第一次在“隐私选择”中禁用可选分析。
  6. 上传合成图像,添加可见注释和水印,预览页面,然后导出 PDF。

Chrome 的网络面板文档 解释了请求检查、过滤和负载视图。

按类型与载荷检查网络请求

筛选 fetchxhr,然后检查上传、注释、预览或导出期间发生的任何请求。检查 URL、方法、请求标头、查询字符串、表单数据、请求负载和响应。

在保留的日志中搜索合成短语和文件名。还要查找其时间与上传时间匹配的异常大的请求主体。图像像素可能是二进制的或编码的,因此仅缺少该短语是不够的;有效负载大小和内容类型也很重要。

来自博客或界面的静态图像请求不是用户文档的上传。 blob: URL 是浏览器本地对象引用,而不是远程网络目标。 data: URL 将数据嵌入当前文档上下文中,同样不代表 HTTP 上传。

比较同意状态

授予可选分析同意后重复会话。 Google Analytics 库现在可以加载和发送使用事件。 Screenshot PDF 的分析层记录产品事件,例如编辑器打开、导出开始、成功或失败、页数、区域设置和广泛的使用上下文。它的设计不包括屏幕截图内容、文件名、水印文本、电子邮件地址或直接标识符。

检查事件参数而不是假设分析请求是无害的。确认合成短语和文件名不存在。在 AdSense 申请阶段,广告同意仍然处于禁用状态,因此广告请求不应仅仅因为分析已被接受而出现。

验证故障路径

当操作失败时,隐私行为不应改变。尝试使用不受支持的小文件或取消文件选择器。确认在错误报告过程中没有传输任何文档负载。不要故意用大量敏感文件使浏览器崩溃。

对于与内存相关的测试,使用生成的模式并逐渐增加维度。当编辑器缩放图像或浏览器变慢时停止。目的是观察请求行为,而不是耗尽设备。

DevTools 无法单独证明什么

  • 浏览器扩展和服务工作者可以有单独的执行上下文;在测试捕获传输时检查相关的扩展服务人员。
  • 加密的请求仍然会在 DevTools 中公开目标和请求元数据,但负载解释可能需要请求视图。
  • 单个测试涵盖一个版本、浏览器、同意状态和工作流程。
  • 从其他发布者安装的浏览器扩展可以根据自己的权限观察页面。
  • 操作系统遥测超出了网页网络面板的范围。

为了获得更高保证的审查,请一起检查源代码、构建工件、扩展权限、内容安全策略和网络行为。

记录审核结果

创建一个小表,其中包含日期、网站构建、扩展版本、浏览器版本、同意状态、测试文件哈希、执行的操作、观察到的目的地、文档有效负载结果和审阅者。仅当编辑后的 ​​HAR 不包含令牌、cookie、私有 URL 或其他敏感标头时,才保存它。

如果文档像素或文件数据出现在意外的远程请求中,请停止并使用最小的合成示例进行重现。向 [email protected] 报告目的地、请求类型、触发它的操作和版本。

当声明、实施、同意行为和可观察的网络证据一致时,本地处理最强。在发布后重复此检查会将营销短语变成可维护的工程属性。