我有一个嵌入第三方网站的iframe,我希望这些网站能够通过postMessage
与所述iframe进行通信。我想将与iframe通信的原点限制为原始(实例化)网页的来源。我目前通过将原点附加到iframe来实现这一目标:
<iframe src = "https://whatever.com/iframe?host=${window.location.href}" />
但是,由于超出此问题范围的原因,我不想放弃此方法。因此,我正在考虑通过window.parent
和ducument.referrer
的组合验证消息。类似的东西:
const originatingOrigin = parse(document.referrer).origin;
document.addEventListener("message", function (message)
{
if (message.origin !== originatingOrigin || window.parent !== message.source)
return;
});
这1)是否像我在自己传递URL时一样安全; 2)万无一失,因为没有文件阻止文件被阻止时让我们说,在这种情况下,API会被破坏。
因此,关注的范围是:
null/unavailable/incorrect
。我知道如果您通过重定向可能会有所不同,但鉴于我的脚本将创建iframe并设置src,该情况不应成为问题。答案 0 :(得分:0)
似乎设置了Referrer-Policy:no-referrer使document.referrer不起作用。