在 puppeteer, Headless Chrome 的 DOM 中获取凭证
Securing credential inside DOM of puppeteer, Headless Chrome
我正在设计一个提供的服务,
- 使用外部来源提供的凭据隐藏自动登录现有站点
- 通过启用可见功能将登录浏览器移交给用户
因此,此服务可在用户需要时立即提供登录浏览器。我正在考虑使用 puppeteer,我的问题是
- 在 #1 中,puppeteer 在通过 puppeteer API 输入凭据 (ID/PW) 时是否有足够的安全性来保护它们? (不要担心外部源和应用程序之间的加密。如果黑客可以监视 DOM 隐藏的 puppeteer 会话的结构,则只在应用程序和 puppeteer 之间进行加密。)
- 在#2 中,我可以动态设置隐藏的浏览器可见吗?
Node.js与浏览器之间的通信
Node.js 环境和浏览器之间的通信默认不加密,因为它使用未加密的 Websocket 协议 (ws://
) 而不是加密的 (wss://
) .如果您的 puppeteer 实例从一台机器连接到另一台机器,这意味着人们可能能够嗅探连接 ()。
请记住,如果您的 Node.js 应用程序和浏览器 运行 在同一台机器上,这并不重要。当然,任何可以访问您的计算机和 运行 应用程序的攻击者也可以监控内存,甚至可以通过 WebSocket 直接连接到您的 运行 浏览器。
动态显示或隐藏浏览器
关于您的第二部分:无法使用人偶 API 将浏览器状态从 "visible" 更改为不可见(反之亦然)。但是您可以使用操作系统的 API 来执行此操作,或者序列化浏览器的状态并将状态传输到另一个浏览器实例 ()。
我正在设计一个提供的服务,
- 使用外部来源提供的凭据隐藏自动登录现有站点
- 通过启用可见功能将登录浏览器移交给用户
因此,此服务可在用户需要时立即提供登录浏览器。我正在考虑使用 puppeteer,我的问题是
- 在 #1 中,puppeteer 在通过 puppeteer API 输入凭据 (ID/PW) 时是否有足够的安全性来保护它们? (不要担心外部源和应用程序之间的加密。如果黑客可以监视 DOM 隐藏的 puppeteer 会话的结构,则只在应用程序和 puppeteer 之间进行加密。)
- 在#2 中,我可以动态设置隐藏的浏览器可见吗?
Node.js与浏览器之间的通信
Node.js 环境和浏览器之间的通信默认不加密,因为它使用未加密的 Websocket 协议 (ws://
) 而不是加密的 (wss://
) .如果您的 puppeteer 实例从一台机器连接到另一台机器,这意味着人们可能能够嗅探连接 (
请记住,如果您的 Node.js 应用程序和浏览器 运行 在同一台机器上,这并不重要。当然,任何可以访问您的计算机和 运行 应用程序的攻击者也可以监控内存,甚至可以通过 WebSocket 直接连接到您的 运行 浏览器。
动态显示或隐藏浏览器
关于您的第二部分:无法使用人偶 API 将浏览器状态从 "visible" 更改为不可见(反之亦然)。但是您可以使用操作系统的 API 来执行此操作,或者序列化浏览器的状态并将状态传输到另一个浏览器实例 (