2015-05-19 125 views
0

我正在使用PHP(我是一个总新手),以获取/设置我的游戏的分数,并且所有的功能都完美运行,但这很容易破解,因为我使用Javascript制作游戏并且用户可以检查代码,看看jQuery的一部分,我发送此信息到服务器这样如何防止使用PHP的leaderboard表的虚假分数?

$.post("http://theurl/addScore.php", { game: 1, name: myPlayer, score: Number(myScore) }); 

我猜there's没有一个完美的解决方案,但至少我想知道我怎么可以反过来说,“黑客“更难以骗子。

任何方式来防止这样一个简单的插入数据库?

+0

您可以尝试编码发送给服务器的数据 –

+0

您可以编辑所有文件名和var-names,而不是手动传递所有vars,您可以使用随机名称或类似于'getPlayerData ' – ThermalCube

+0

http://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript-jquery –

回答

0
  1. 缩小你的javascript。
  2. 在服务器端检查不可能的异常分数,如果是这样,阻止IP /用户。
  3. 编码客户端数据,在服务器端解码。
+0

那么,当我完成游戏时,我总是会缩小js代码,这很正常。 关于阻止用户...我不太喜欢这个,这可能是一个错误,阻止该用户将是不公平的,对我来说不是一个好的选择。 关于客户端的编码,这真的是一种选择吗?也许我说的是一些愚蠢的东西,但是如果用户看到编码是如何完成的,他仍然可以破解它(我不知道这是否合理)。 – torpedete

+0

你也可以给用户一个临时禁令。对于编码,真的,但肯定会变得更难。 – Daan

相关问题