我在Unity中制作了游戏,其中包含许多公共和私人变量和功能。我希望游戏安全,所以我从Unity资产商店https://www.assetstore.unity3d.com/en/#!/content/10395购买了反作弊工具包。所以我的问题是我需要安全的私有变量吗?如果是,那么私有变量的用途是什么?他们有什么优势(在安全方面)?
答案 0 :(得分:10)
我需要保护私有变量吗?
不,公共和私有变量都具有相同的安全防御(或者说没有安全防御)。如果攻击者可以查看或修改 public 变量,他们可以查看或修改私有变量。
访问修饰符是为了方便程序员并帮助做出架构决策。
答案 1 :(得分:2)
私有和公共标识符与安全性无关,而是与方法/变量/任何内容的可见性/可访问性无关。
私有var与开发人员通信,该变量仅由其类使用,不应在其他任何地方触及/访问。
public var传达变量在其他地方被访问,变量的值对代码库/用户的部分功能很重要
答案 2 :(得分:0)
变量的状态(公共,私有或受保护)仅确定谁可以访问变量内部的信息,或者谁可以执行某个操作(对于函数)。 私有变量也只能由其包含的类加入。
答案 3 :(得分:0)
公共和私人关键字仅表示"假设"是否可见。在安全性方面,始终可以使用反射调用私有变量或方法(例如)https://en.wikipedia.org/wiki/Reflection_(computer_programming)。