底部的问题
构建问题 我听说全局变量是代码安全性的安全风险,并且有不同的编码选择可用于使一个函数的变量可被另一个函数看到和使用,例如,“函数A对于函数B是可见的;或者,在函数B中传递和使用的函数A的变量。“
问题: 如果客户端不是问题,那么JavaScript语法中最好的OOP结构或实践是什么,它可以保持封装内容,并且可以将变量暴露给操作,从而增加最大的安全性?只是一个很好的OOP练习题。
答案 0 :(得分:4)
JavaScript实际上从来都不安全,因为它完全在客户端运行,所有内容都可见并且可以操作。 我倾向于使用闭包来管理范围,以将范围限制为适合我的不同代码块的范围。但是,这并没有提供任何安全优势
我赞成闭包模型,因为它为内部方法和变量提供了良好的封装。您可以定义功能而无需担心它“污染”全球空间并可能干扰其他功能。
就我而言,没有任何模式可以保护你免受操纵。最好的建议是不要信任JavaScript变量,并且在接受它们的值之前总是使用适当的服务器端验证。