制作游戏 - 安全变量的优势是什么?

Making a game - What is the advantage of the secure variables?

我在 Unity 中制作了游戏,其中包含大量 public 和私有变量和函数。我希望游戏是安全的,所以我从 unity asset store https://www.assetstore.unity3d.com/en/#!/content/10395 购买了 Anti cheat toolkit。所以我的问题是我需要安全的私有变量吗?如果是,那么私有变量有什么用?他们有什么优势(在安全方面)?

私有和 public 标识符与安全无关,而是 method/variable/whatever 的 visibility/accessibility。

私有变量告诉开发者该变量仅供其 class 使用,不应 touched/accessed 在其他任何地方使用。

A public var 表明变量在其他地方被访问并且变量的值对 codebase/users

的部分功能很重要

变量的状态,public,private 或 protected,仅决定谁可以访问变量内部的信息,或者谁可以执行特定操作(对于函数)。 私有变量也只能通过包含 class.

来访问

public和私有关键字只表示"supposed"可见或不可见。在安全方面,总是可以使用反射调用私有变量或方法(例如)https://en.wikipedia.org/wiki/Reflection_(computer_programming).

do I need to secure private variables ?

不,public 和私有变量都具有相同的安全防御措施(或者说没有安全防御措施)。如果攻击者可以查看或修改 public 变量,他们就可以查看或修改 private 变量。

访问修饰符是为了方便程序员并帮助做出架构决策。