我希望用户能够在域 example1.com 上的应用程序中提交和呈现不受信任的 HTML。为了防止恶意 XSS 捕获用户的 cookie,我们的想法是在使用不同域(例如 example2.com)的 iframe 中打开 HTML。但是为了看到这个 HTML,用户必须在 example1.com 上登录。仅当用户在 example1.com 上登录并通过身份验证时,如何仅在 example2.com 上的 iframe 中呈现 HTML?
我在想也许使用通过 postMessage 传递的秘密,该秘密发布一个表单来呈现 HTML,而无需设置 cookie。每当我想通过 JavaScript 更新 iframe 的内容时,我只需重新创建 iframe,然后再次传入密码并再次发布表单以呈现不受信任的 HTML。恶意 JavaScript 无法访问该密钥,因为该密钥仅存在于发布表单的前一页中。这是一个好的解决方案还是有更好的解决方案?