防止网络游戏上的AJAX作弊

上下文

我有一个JavaScript的网页游戏。

我在比赛期间用AJAX发送分数和成就。

所以任何人都可以查看源代码,复制此请求并欺骗我的游戏。

问题

  • 知道怎么防止这个?
  • 使用来自服务器的令牌(我从未使用过这个系统)?

jquery :

$.post('ajax/score.php', {pseudo: $pseudo, score: $score, achiev: $achiev}, function(data) { $('#loader').show().delay(3000).fadeOut(1000); } ); 

php :

 if (isset($_POST['pseudo']) && isset($_POST['score']) && isset($_POST['achiev'])) { ... } 

由于游戏是客户端,因此无法确保他们不会“欺骗”。 有办法让它变得更加困难。

  • 让所有计算都在服务器端执行,并发送回令牌……这可能对您的游戏不可行/不可行。
  • 每次更改所提供的代码,以便需要更多时间来“解密”所有请求。
  • 混淆代码……这只是一种威慑。
  • 在游戏过程中发送“令牌”以查看数据是否匹配(例如,您无法在5秒内赢得赛车游戏)…这也可能是欺骗性的。

只要游戏是客户端,它就不能“安全”。