有没有办法阻止最终用户在我的页面中篡改JavaScript游戏代码?

前端之家收集整理的这篇文章主要介绍了有没有办法阻止最终用户在我的页面中篡改JavaScript游戏代码?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Prevent Cheating on Javascript Game7个
我正在考虑创建一个HTML5游戏.我知道很可能没有人会试图作弊,但我想确定(并且有兴趣看看是否有任何好的技巧).

我理解使用开源软件的优点,并希望我的代码能够被阅读和填充.但是,在游戏类型的情况下,用户的分数将被发送到服务器进行存储,我可以看到一个问题,即用户可以打开他们的devtools(在大多数浏览器中为F12)并修改脚本或变量中的值给自己一个更高的分数或一百个生命.我不在乎人们是否这样做,但我不希望他们的分数被存储.

案例研究:Candy Box 2(candyBox2.net)花了我不到20秒就获得了1亿份糖果.

有没有办法阻止这种情况发生?

解决方法

阻止这种情况发生的最可靠方法是运行所有业务逻辑服务器端,只接受来自浏览器的命令.如果关键变量不是驻留在浏览器中(或者浏览器中的副本是缓存副本并且从未被接受为权威),则客户端操作除了可能自动执行UI操作之外无法执行任何操作.

如果必须使客户端代码具有防篡改功能,那么您已经丢失了;这种方式是PunkBuster,Valve Anti-Cheat和其他机制,通常要求用户让你在他的机器上永久安装rootkit,这样你就可以通过检查来确保他不会作弊.

对于我最近使用ASP.Net作为后端的一些项目,我发现SignalR是一个非常有效的Comet类型的JavaScript和动态HTML通信层,甚至可以利用HTML 5 WebSocket支持可用.

原文链接:https://www.f2er.com/js/150255.html

猜你在找的JavaScript相关文章