在构建 Java Applet 时,是否可以采取任何步骤来防止用户调用内部方法?
理论上,大多数对象都可以在客户端机器上进行分析和方法调用。
除了混淆之外,还有其他任何步骤可以帮助防止这种情况发生吗?
我的情况是确保最高分直接从客户端发送的游戏。
最佳答案
如果您的游戏太难自动化并且无法由机器人以比任何人都更富有成效的方式玩,那么最好以特定的随机间隔从服务器请求游戏状态。你可以实现一个 CAPTCHA - 类似机制,可以融入游戏的故事并带来 Challenge-Response authentication 的水平到类似图灵的小型测试,玩家必须不时通过解决特定难题来“证明”他是人类。一直以来,您都会验证分数的演变,并拒绝任何不符合预先计算的每级或每单位时间最大分数公式的值,给定当前系统的状态。我不是安全专家,但我想这一切会给潜在的攻击者带来相当大的困难。
关于java - 可以向 Java 小程序添加什么安全性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1800662/