【发布时间】:2017-03-28 09:05:31
【问题描述】:
不久前我遇到了一个interesting security hole
<a href="http://someurl.here" target="_blank">Link</a>
看起来很无害,但有一个漏洞,因为默认情况下,正在打开的页面允许打开的页面通过window.opener 回调它。有一些限制,是跨域的,但还是有一些恶作剧可以做的
window.opener.location = 'http://gotcha.badstuff';
现在,HTML 有一个解决方法
<a href="http://someurl.here" target="_blank" rel="noopener noreferrer">Link</a>
这会阻止新窗口将window.opener 传递给它。这对 HTML 来说很好,但如果您使用的是 window.open 呢?
<button type="button" onclick="window.open('http://someurl.here', '_blank');">
Click Me
</button>
您将如何阻止在此处传递window.opener 的使用?
【问题讨论】: