对于第三方代码执行,子 iframe 绝对安全吗?

问题描述

我正在处理的网站接收第三方不受信任的 Javascript 作为字符串,并且需要 eval() 它。该站点具有敏感 cookie 和 localStorage,不受信任的代码无法访问。

为了解决这个问题,我为同一域中的另一个页面创建了一个iframe,其中 allow-scripts 作为唯一的沙箱属性

<iframe src="..." sandBox="allow-scripts"></iframe>

子节点 iframe一个预设方法列表,它可以使用 window.postMessage 根据来自父节点的预期负载执行。子进程接收包含要执行的不受信任的代码的父负载eval() 将其发送并通过 window.postMessage 将响应作为字符串返回给父进程。

我已经测试并验证了子 iframe 无法访问父 cookie 或 localStorage。

AFAIK 这是安全的,但我想从该地区有经验的人那里知道。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)