Javascript 为邮件后通信建立父源
我有一个iframe嵌入到第三方站点中,我希望这些站点能够通过Javascript 为邮件后通信建立父源,javascript,security,cross-domain,postmessage,referrer-policy,Javascript,Security,Cross Domain,Postmessage,Referrer Policy,我有一个iframe嵌入到第三方站点中,我希望这些站点能够通过postMessage与所述iframe进行通信。我想将可以与iframe通信的源代码限制为原始(实例化)网页的源代码。目前,我只需将原点附加到iframe即可实现这一点: <iframe src = "https://whatever.com/iframe?host=${window.location.href}" /> 这是否1)像我自己传递URL时一样安全,2)万无一失,因为没有阻止document.referer
postMessage
与所述iframe进行通信。我想将可以与iframe通信的源代码限制为原始(实例化)网页的源代码。目前,我只需将原点附加到iframe即可实现这一点:
<iframe src = "https://whatever.com/iframe?host=${window.location.href}" />
这是否1)像我自己传递URL时一样安全,2)万无一失,因为没有阻止document.referer的情况,比方说,在这种情况下API会被破坏
因此,关注的范围包括:
为空/不可用/不正确
。我知道,如果您执行重定向,可能会有所不同,但是考虑到我的脚本将创建iframe并设置src,这种情况不应该引起关注似乎设置“推荐人策略:无推荐人”会使document.Referer无效
const originatingOrigin = parse(document.referrer).origin;
document.addEventListener("message", function (message)
{
if (message.origin !== originatingOrigin || window.parent !== message.source)
return;
});