2

本质上,我想在客户端中存储一个我不希望人们查看或更改的变量。

在以下代码示例中:

(function () {
    var foo = 'bar';
})();

任何人都可以使用工具或浏览器来访问和/或(更重要的是)更改 foo 的值吗?可以提供更多信息或工具的链接将不胜感激。在此期间,我将进行更多研究。

提前致谢

4

2 回答 2

3

是的,他们可以修改 foo 的值。作为一般规则,如果您不希望客户端操作该值,请不要让他们访问它(即将用户 ID 或此类信息放在 DOM 或客户端中)。您可能需要做一些state management研究、加密的 cookie、会话,或者如果您正在使用ASP.NETViewState/ViewBag

于 2012-10-08T14:08:10.623 回答
0

可以将 javascript 注入任何页面,然后您可以从那里操作页面上的每个 javascript 对象/变量。因此,javascript 接收的任何数据都应该加密(如果您关心安全性)。

为了给您一点提示,请尝试打开您的开发人员工具。在 chrome 中,Control-Shift-I。单击脚本选项卡,然后您将看到脚本正在使用的所有变量。可以双击脚本中的任意位置并添加/删除代码片段。

仅供参考,如果您使用的是 Firefox,我强烈推荐 Firebug。它超越了 chrome 的开发工具,但我发现 chrome 更快.. 至少在我的慢速笔记本电脑(Ubuntu FTW)上。

希望这有帮助

于 2012-10-08T14:13:22.060 回答