iPhone:如何根据更改设备的日期来修复作弊行为?我可以从那里获得时间的服务器吗?

Ada*_*dam 6 iphone time datetime ipod nsdate

我有一个iPhone游戏,该游戏会随着时间的流逝分配游戏中的货币,有人发现您可以更改设备上的日期以尽早获得奖励。

我发现蓝精灵村(Smurf Village)也有类似的问题,他们以某种方式发现了篡改行为。有人知道他们是怎么做的吗?我唯一能想到的就是从外部服务器获取时间,这将要求设备处于联机状态,但总比没有好。...有人知道我在哪里可以找到只告诉您时间的服务器吗?

Ken*_*ner 4

您可以使用 NTP 服务器来告诉您时间。

直到有人使用代理服务器来找出您尝试连接的 NTP 服务器,然后欺骗 NTP 响应……正如其他人提到的,响应很容易解析,因此很容易伪造。

更好的解决方案是使用 Google App Engine(免费)之类的东西,向您的应用程序发送某种加密响应,该响应将归结为服务器时间。如果客户端时间与该时间偏差太大,应用程序将简单地使用服务器时间进行计算。那么即使他们拦截了请求,他们也不容易发回正确的响应。

但基本上在任何网络游戏中,你必须始终假设客户端在撒谎。防止出现问题的唯一真正方法是让所有内容都通过服务器,因此客户端无法决定它突然变得富有并让任何其他客户端同意它是这样......