我可以阻止用户修改元素的内部文本吗?

时间:2015-07-30 22:06:20

标签: javascript jquery html dom

假设我在网站上开发游戏,游戏的分数被视为元素的内部文本:

$('#score').text('9912391912381191238120'); 

当游戏结束时,用户可以选择将分数提交到高分列表,对应于我的数据库中的表。分数从上面的{{1}}中提取,然后通过AJAX传递给服务器。

但是在网页加载和游戏结束之间,我希望游戏不要使用任何服务器端。这是否可以通过打开JS控制台并输入类似

的内容来防止用户作弊
{{1}}

????

1 个答案:

答案 0 :(得分:2)

开发轻量级客户端的一般规则是:安全性绝不能基于客户端,因为客户端正在超出安全性的计算机上执行环境。

是的,高级用户可以破解您的HTML页面以反省客户端和服务器之间的数据交换,因此,能够使用任意数据执行对服务器的调用。甚至可以使用像Chrome或Firefox的JS控制台这样的开发工具破解HTML内容,正如您已经意识到的那样。

我的建议是:设计你的程序,以便游戏状态总是在服务器端