如何防止javascript和html5游戏中的变量注入

Mac*_*lor 6 javascript html5 code-injection

我在我的网站上使用过这个html5 Snake游戏,但问题是它可以很容易被黑客攻击.

http://cssdeck.com/labs/classic-snake-game-with-html5-canvas

黑客可以注入分数并提交自己的分数.

反正有没有保护脚本内的得分变量不被客户注入?

Jas*_*n S 7

只要游戏完全在客户端实现,就不一样了."解决方案"是在服务器端实现游戏规则和存储,并且客户端主要是UI,但这对于这样一个简单的浏览器游戏来说可能是过度的.

您可以通过混淆代码来使其变得更难,但这只会阻止那些实际上并不关心的人.

如果游戏是确定性的,您可以记录所有游戏"事件"并将其发送到服务器,在那里计算分数.这样可以使伪造分数更加有效,但仍然可以伪造,构建这样的系统也需要做很多工作.