相关疑难解决方法(0)

使用window.open但阻止使用window.opener

过了一会儿,我遇到了一个有趣的安全漏洞

<a href="http://someurl.here" target="_blank">Link</a>
Run Code Online (Sandbox Code Playgroud)

看起来很无害,但是有一个漏洞,因为默认情况下,正在打开的页面允许打开的页面通过它回调它window.opener.有一些限制,是跨域的,但仍然有一些可以做的恶作剧

window.opener.location = 'http://gotcha.badstuff';
Run Code Online (Sandbox Code Playgroud)

现在,HTML有一个解决方法

<a href="http://someurl.here" target="_blank" rel="noopener noreferrer">Link</a>
Run Code Online (Sandbox Code Playgroud)

这可以防止新窗口window.opener传递给它.这对HTML很好,但是如果你使用的话window.open怎么办?

<button type="button" onclick="window.open('http://someurl.here', '_blank');">
    Click Me
</button>
Run Code Online (Sandbox Code Playgroud)

你会如何阻止window.opener被传递到这里?

javascript cross-domain

20
推荐指数
5
解决办法
1万
查看次数

标签 统计

cross-domain ×1

javascript ×1