更改window.location.ancestorOrigins

问题描述 投票:3回答:2

有没有办法在Chrome下的iframed网站中更改或阻止使用window.location.ancestorOrigins

出于安全原因,我不希望iframed页面能够检测到最顶层的URL。

在Firefox下,如果<iframe>指向另一个<iframe>,它就解决了这个问题。但在Chrome下,它仍在检测主网站。

javascript jquery iframe browser
2个回答
1
投票

不,而且自2016年以来一直在进行讨论! https://github.com/whatwg/html/issues/1918

这是谷歌广告资金Chrome开发时的结果。

另请注意,在chrome上,您可以通过defineProperty()覆盖document.referrer,但不能覆盖window.location.ancestorOrigins。他们真的关心那个属性,只是不足以尊重它的内容安全政策¯\ _(ツ)_ /¯

@seanonymous(新帐户,此处无法回复评论)用例是某些网站在URL中公开了他们不希望合作伙伴看到的信息。例如,CNN可能会利用Google或Facebook获取登录信息。他们很好地与用户正在阅读cnn.com的公司分享,以换取他们评论部分的授权流程。但他们可能无法分享用户希望对这些公司发表评论的文章。十年前,W3c通过CSP和referrer控制头解决了这个问题。但谷歌在没有任何评论的情况下实施了这一点,就像微软在IE4~6市场占据主导地位时所做的那样。


-1
投票

答案很简单:你无法改变它。

© www.soinside.com 2019 - 2024. All rights reserved.