gpt4 book ai didi

javascript - 关闭对全局变量的访问 javascript

转载 作者:行者123 更新时间:2023-11-28 19:49:25 25 4
gpt4 key购买 nike

我正在编写一个 js API,该 API 将由外部客户使用,并由我的客户在他们的 Web 浏览器中执行。

由于这对我的网络用户可能有害(安全漏洞等),因此我希望至少允许或禁止访问 document 全局变量和其他变量,例如 XMLHTTPRequest API。

我该怎么做?

编辑:我正在考虑对 API 用户编写的函数进行包装,例如 document = null ,但它不起作用。此外,使用这种方法很难彻底,因为有太多的解决方法和太多的可能性来考虑所有这些。

最佳答案

答案很简单:你不能。

这可能不是我们想要的答案,但这些全局变量无法修改。

亲自尝试一下:

window = 1;
console.log(window) // Window {top: Window, window: Window, ...

document = false;
console.log(document) // #document (as in the document object)
document = null;
console.log(document) // #document (same)

window.document = false;
console.log(window.document) // #document

但是,这对于 XMLHttpRequest 来说似乎是可能的:

XMLHttpRequest = null
console.log(XMLHttpRequest) // null
console.log(window.XMLHttpRequest) // null

因此,您也许可以禁用个别功能。

但是,像这样搞乱 native 功能是一个主意,因为它可能会产生意想不到的副作用。例如,jQuery 使用 XMLHttpRequest 作为其 ajax 函数。

关于javascript - 关闭对全局变量的访问 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23758472/

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