Javascript 跨iframe的跨域身份验证,无需登录

Javascript 跨iframe的跨域身份验证,无需登录,javascript,html,security,cross-domain,xss,Javascript,Html,Security,Cross Domain,Xss,我希望用户能够在应用程序中提交和呈现不受信任的HTML,比如domain example1.com。为了防止恶意XSS捕获用户的cookie,我们的想法是在使用不同域的iframe中打开HTML,比如example2.com。但为了查看此HTML,用户必须登录example1.com。如何仅在用户在example1.com上登录并通过身份验证的情况下,在example2.com上的iframe中呈现HTML 我在想,也许可以使用一个通过postMessage传递的秘密来发布一个表单来呈现HTML

我希望用户能够在应用程序中提交和呈现不受信任的HTML,比如domain example1.com。为了防止恶意XSS捕获用户的cookie,我们的想法是在使用不同域的iframe中打开HTML,比如example2.com。但为了查看此HTML,用户必须登录example1.com。如何仅在用户在example1.com上登录并通过身份验证的情况下,在example2.com上的iframe中呈现HTML


我在想,也许可以使用一个通过postMessage传递的秘密来发布一个表单来呈现HTML,而不需要设置cookie。每当我想通过JavaScript更新iframe的内容时,我只需重新创建iframe,然后再次传递秘密并再次发布表单以呈现不受信任的HTML。恶意JavaScript将无法访问该秘密,因为该秘密仅存在于发布表单的前一页上。这是一个好的解决方案还是有更好的解决方案?

每次用户登录example1.com时,您都会为其创建一个令牌

要调用iframe内容,请使用example2.com/view.php?page=1&token=dsjahdjhjh331

因此,恶意脚本只能获取令牌,而不能获取cookie。如果您为令牌创建了一个“指纹”,比如concat用户的请求地址(IP)+浏览器代理,那么窃取令牌就像窃取一个随机字符串一样