gpt4 book ai didi

javascript - 绕过 iFrame 破坏脚本

转载 作者:行者123 更新时间:2023-11-30 16:01:35 28 4
gpt4 key购买 nike

我正在开发一个 chrome 扩展,我想绕过 iFrame 检测(即 buster)脚本。

我能够绕过这个检测:

if (top !== self) {
//break out
}

在顶部注入(inject)这段代码:

window.self = window.top;

但是如果我有这样的东西怎么办:

if (window != top) {
//break out
}

如何重新定义 window

最佳答案

您不能重新定义 windowtop全局对象的属性

window本质上是对 window 的引用全局窗口对象的属性 ( window.window )。此属性被定义为不可配置和不可重写。您可以通过执行 Object.getOwnPropertyDescriptor(window, "window") 来验证这一点在控制台中。 configurable: falsewritable: false属性意味着任何修改它的尝试都将失败(返回值 false 或在严格模式下出错)。 window 的这种行为specification of the Window object 需要属性.

top窗口的属性也是不可配置和不可重写的,因此您也无法覆盖它。 (另一方面,parentself 可以被覆盖。)

您似乎在尝试找到一种普遍可用的方法来愚弄 framebusters。这对我来说似乎是一项不可能完成的任务。您也许能够以某种方式拦截 <script>元素并在代码执行之前从代码中删除 iframe 检测,但即使您成功地针对某些 framebusters 这样做了,总会有其他一些您的扩展不会处理。

关于javascript - 绕过 iFrame 破坏脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37643343/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com