javascript - 在 Javascript 中公开私有(private)变量

标签 javascript security exploit

我对 javascript 的 protected 内存有疑问。如果我有这样的功能:

var obj = function(){
    var secret = "secret",
        super_secret = "my super secret string";   
    return {
        get_secret: function() {
            return secret;
        }()
    }
}();

是否可以通过任何方式从 super_secret 中获取字符串?

我看到一些利用 throw() 和 Error() 来获取函数变量的漏洞。然而,关闭并没有完成。非常欢迎所有输入和“预感”。我正在计划一个项目,我需要确保没有任何已知的方法来提取或修改 super_secret 变量。

最佳答案

假设这将最终在浏览器中运行,有人可以查看源代码并复制粘贴它(您确实说过“任何方式”:-)。

此外,如果有人可以让任意 Javascript 在您的网站上运行,那么保守 key 是您最不关心的问题。

关于javascript - 在 Javascript 中公开私有(private)变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4087734/

相关文章:

C sprintf 漏洞利用(格式化攻击)

javascript - knex.js 中的 createTable(...).createTable(...) 和 createTable(...).then(...) 有什么区别?

javascript - 这个 JavaScript 语法是做什么的?

security - 粘贴时退出 Vim 插入模式

security - 还记得我的 Cookie 最佳实践吗?

javascript - 使用 javascript 确定窗口是否打开

java - "safe"语言的安全漏洞

javascript - 如何通过 id 删除特定对象并将其重新添加到数组中 [jQuery]

javascript - 如何在返回 promise 的服务中创建 reset() 方法?

web-services - 服务是否应在每次请求时要求提供凭据?