用户信息作为前端的全局变量

时间:2015-06-25 08:28:33

标签: javascript

  • 阻止Web应用程序最终用户的最佳方法是什么? 操纵前端JavaScript全局变量和其他运行时 对象?
  • 我可以采取哪些最佳措施来降低安全性 一个“坏”的漏洞和篡改用户?
  • 是否通过应用程序验证了它们?

2 个答案:

答案 0 :(得分:5)

针对用户篡改全局变量的最佳解决方案是不具有全局变量。但这比安全事情更像是一种好的做法。

您似乎对客户端代码的工作原理有一点误解。 客户端代码在客户端上运行。您无法控制客户端,您的用户。您给我的浏览器代码,并请它按照您的意图运行它。浏览器完全没有义务按照您的意图实际运行代码。

从安全角度来看,永远不要假设您的客户端代码曾按预期运行。即使Curt的建议也可以通过使用调试器和开发人员控制台轻松克服。

永远不要依赖用户输入。永远不要依赖客户端验证。切勿将有关任何其他用户的任何敏感信息发送给客户。您发送的任何信息都可以用于您。

答案 1 :(得分:3)

就安全漏洞而言,前端不是一个关注自己的地方。 Javascript不会保护您免受此攻击

您也无法阻止用户操纵全局变量。他们可以在控制台中访问它们。

我会质疑你为什么用变量弄乱全局命名空间。

此处最好的选择是创建 Revealing Module Pattern ,以创建私有变量。

focusNode

然而,这更多地用于封装,而不是用于安全性益处。 客户端没有安全性。这应该都是服务器端处理的。