本质上,我想在客户端中存储一个我不希望人们查看或更改的变量。
在以下代码示例中:
(function () {
var foo = 'bar';
})();
任何人都可以使用工具或浏览器来访问和/或(更重要的是)更改 foo 的值吗?可以提供更多信息或工具的链接将不胜感激。在此期间,我将进行更多研究。
提前致谢
本质上,我想在客户端中存储一个我不希望人们查看或更改的变量。
在以下代码示例中:
(function () {
var foo = 'bar';
})();
任何人都可以使用工具或浏览器来访问和/或(更重要的是)更改 foo 的值吗?可以提供更多信息或工具的链接将不胜感激。在此期间,我将进行更多研究。
提前致谢
是的,他们可以修改 foo 的值。作为一般规则,如果您不希望客户端操作该值,请不要让他们访问它(即将用户 ID 或此类信息放在 DOM 或客户端中)。您可能需要做一些state management
研究、加密的 cookie、会话,或者如果您正在使用ASP.NET
等ViewState/ViewBag
。
可以将 javascript 注入任何页面,然后您可以从那里操作页面上的每个 javascript 对象/变量。因此,javascript 接收的任何数据都应该加密(如果您关心安全性)。
为了给您一点提示,请尝试打开您的开发人员工具。在 chrome 中,Control-Shift-I。单击脚本选项卡,然后您将看到脚本正在使用的所有变量。可以双击脚本中的任意位置并添加/删除代码片段。
仅供参考,如果您使用的是 Firefox,我强烈推荐 Firebug。它超越了 chrome 的开发工具,但我发现 chrome 更快.. 至少在我的慢速笔记本电脑(Ubuntu FTW)上。
希望这有帮助