Javascript 如何保护window.opener.location

Javascript 如何保护window.opener.location,javascript,window.open,Javascript,Window.open,我正在使用window.open打开一个新窗口,该窗口将使用window.opener.postMessage向父窗口发送一些消息 此子窗口URL是任意的。我的意思是有一个文本框,用户可以在其中给出URL,然后使用窗口打开它 尽管怀疑用户使用了受支持的URL,但也可能会使用一些随机URL。在这种情况下,我不希望子窗口对父窗口进行任何更改,尤其是对父位置 我怎样才能避免这个问题?我试过使用诺弗勒,诺佩纳;但是,这会完全中断整个跨窗口通信,这是不需要的。您可以在消息中检查事件的起源,例如:窗口。ad

我正在使用
window.open
打开一个新窗口,该窗口将使用
window.opener.postMessage
向父窗口发送一些消息

此子窗口URL是任意的。我的意思是有一个文本框,用户可以在其中给出URL,然后使用
窗口打开它

尽管怀疑用户使用了受支持的URL,但也可能会使用一些随机URL。在这种情况下,我不希望子窗口对父窗口进行任何更改,尤其是对父位置


我怎样才能避免这个问题?我试过使用
诺弗勒,诺佩纳
;但是,这会完全中断整个跨窗口通信,这是不需要的。

您可以在
消息中检查事件的起源,例如:
窗口。addEventListener('message',(event)=>{if(event.origin=='https://safe.host“){..}}
。这不是我要说的。在子窗口中,恶意javascript可以简单执行
window.opener.location=”https://www.badurl.com“
,我不希望在确保可以发送
window.opener.postMessage()
时发生这种情况。