假设我在网站上开发游戏,游戏的分数被视为元素的内部文本:
$('#score').text('9912391912381191238120');
当游戏结束时,用户可以选择将分数提交到高分列表,对应于我的数据库中的表。分数从上面的{{1}}中提取,然后通过AJAX传递给服务器。
但是在网页加载和游戏结束之间,我希望游戏不要使用任何服务器端。这是否可以通过打开JS控制台并输入类似
的内容来防止用户作弊{{1}}
????
答案 0 :(得分:2)
开发轻量级客户端的一般规则是:安全性绝不能基于客户端,因为客户端正在超出安全性的计算机上执行环境。
是的,高级用户可以破解您的HTML页面以反省客户端和服务器之间的数据交换,因此,能够使用任意数据执行对服务器的调用。甚至可以使用像Chrome或Firefox的JS控制台这样的开发工具破解HTML内容,正如您已经意识到的那样。
我的建议是:设计你的程序,以便游戏状态总是在服务器端。