【问题标题】:Is it safe to send the sensitive data with window.postMessage?使用 window.postMessage 发送敏感数据是否安全?
【发布时间】:2021-07-29 02:32:16
【问题描述】:

假设,我已经设置了两个不同的域,例如:

https://test1_example.com/

https://test2_example.com/

Test1 有一个带有 test2 站点 src 的 iframe。

我想将用户名和密码从 test1 传递到 test2 站点,但我担心在此过程中是否有人会通过网络捕获敏感数据。 我应该在使用 window.postMessage 之前对其进行加密吗?因为我不确定 postMessage 通信是否会通过 Internet,或者只是浏览器窗口通信。

【问题讨论】:

标签: javascript html security iframe postmessage


【解决方案1】:

数据不会通过网络。

它可以采取的最广泛的路线是IPC,(可能在你的情况下,因为跨域文档的线程隔离非常有效地对抗时间攻击à la Spectre),它仍然完全在计算机内部。 如果恶意脚本可以截获这一点,他们可能会更轻松地读取两个页面的内容。

但这并不意味着你可以不小心通过postMessage()发送敏感数据,远非如此。

发送敏感数据时,您必须确保与您希望与之通信的页面进行通信。与您预期不同的页面可能会尝试与您的页面进行通信。

始终将postMessage( msg, origin, [transferrable] )origin 参数设置为您要与之通信的页面的来源。 切勿使用"*"除非您确定数据是不敏感,而且你正在赶时间做一些测试.

同样,始终检查收到的 MessageEvent 的 .origin。如果您不认识它,请忽略该消息。

【讨论】:

    【解决方案2】:

    我建议不要在网站上发布敏感数据,除非您对此有把握。

    【讨论】:

    • 提供的答案含糊不清并使用概括
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 2017-10-29
    • 2014-08-20
    • 2023-03-18
    相关资源
    最近更新 更多