0
例如,我有一个实例播放器。我知道我无法在JavaScript中输入:“player.health = 99999”,但浏览器不让我知道,但如果有人制作了一个浏览器,确实让你这么做?还是不可能在默认情况下更改这种变量?制作多人游戏时,我是否依赖浏览器不给玩家变量(所以他可以破解)?
例如,我有一个实例播放器。我知道我无法在JavaScript中输入:“player.health = 99999”,但浏览器不让我知道,但如果有人制作了一个浏览器,确实让你这么做?还是不可能在默认情况下更改这种变量?制作多人游戏时,我是否依赖浏览器不给玩家变量(所以他可以破解)?
由客户端执行的是不安全的一切事物的价值。如果你希望这是安全的,那么你必须在服务器上检查它。
我相信JS调试器(如Firebug)将允许您更改JavaScript变量
始终认为客户端软件可能受到危害。这也意味着永远不会发送任何信息给玩家不应该看到的信息,就像其他玩家的位置一样(除非它们当然应该是可见的:)) –
我必须发送他们的位置,玩家该怎么办?看看其他人在哪里?而且,下次服务器发送它们时,它们的位置会被覆盖,所以我不担心这一点。但是服务器已经拥有**的所有信息也应该是安全的。我担心有人更改我的代码或其他东西... – corazza
'所有的安全都是妥协' - 布鲁斯Schneier。这里的安全成本对于服务器来说是更多的工作。你甚至可以忍受_game_中的'player.health = 9999',但是* bank *'account.balance = 9999'就是毁灭。 –