概述`postMessage` 提供跨文档消息传递机制。应设置具体的 `targetOrigin` 并在接收端校验 `event.origin` 与数据结构,避免被恶意站点利用。用法/示例// 发送 iframe.contentWindow.postMessage({ type: 'update', payload: { id: 1 } }, 'https://trusted.example') // 接收 addEventListener('message', e => { if (e.origin !== 'https://trusted.example') return if (typeof e.data !== 'object' || e.data == null) return }) 工程建议永远避免使用 `*` 作为 `targetOrigin`;在多环境中使用白名单。序列化敏感数据最小化,避免泄露;对 `MessageChannel` 进行端口生命周期管理。在 CSP 与 Trusted Types 策略下协同,提升整体防护。参考与验证MDN:postMessage — https://developer.mozilla.org/docs/Web/API/Window/postMessage

发表评论 取消回复