如何保护全局范围变量并阻止用户通过控制台

时间:2016-12-24 18:17:24

标签: javascript

我在全局范围内声明了一些特殊变量。现在我有点担心,因为存储在这些变量中的数据是我正在处理的应用程序的核心。

在尝试通过控制台访问它时,我发现它非常简单并且没有完全安全。

如何使其难以访问并将这些变量保护在全局范围内?

代码:

`//declare special variables global scope and use it throughout the application when needed

var recipientsInfo          = [],
    recipients              = [],
    buddyList               = [],
    webMessengerDataAr      = [],
    __ActiveConlog_data     = [],
    activeConArray          = [];

谢谢。

2 个答案:

答案 0 :(得分:2)

这非常简单:如果你的代码中有变量并且你想要安全地存储它们,你必须基本上将它们放入自调用匿名函数中,它将像闭包一样工作。

(function() {
    // just drag your whole code from your script.js and drop it here
})();

阅读详情:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures

答案 1 :(得分:0)

尝试在IIFE中捆绑您的代码

(function() {
    // your variable goes here
})();

那么你的变量不再在全局范围内,它会创建新的范围。

如果您不知道IIFE是什么,请查看此页面IIFE。 另外一个有用的模式可以帮助你避免基于IIFE的全局范围module pattern