Javascript代码是可编辑的吗?

时间:2015-11-29 15:22:35

标签: javascript

我把它做成随机抽奖。

  • 生成1到10000
  • 的随机数
  • 如果小于5000硬币值的两倍
  • 如果不带走它们

当我测试该系统时,我可以通过检查源代码并查找我的JavaScript文件并将赌注* 2更改为下注* 999来使您的获胜次数增加2倍以上。

现在我需要重新制作它,因为我不想让我的网站用户作弊。

我没有在脚本文件中添加脚本,而是直接在<script> code </script>之间的HTML页面中编写它,然后我感觉像是上帝,因为我认为我已经解决了这个问题。

这是解决这个问题的正确方法吗?

2 个答案:

答案 0 :(得分:2)

您发送给客户端(浏览器或其他)的所有代码(HTML,CSS,Javascript)都是可编辑的。

  1. 永远不要依赖客户端验证。
  2. 在将用户输入转发回XSS的页面转义之前,即使在服务器端验证之后也不要信任用户输入。
  3. 永远不要将您的业务逻辑放在客户端代码中。
  4. 永远不要将用户提供的日期信息视为请求日期。
  5. 为每个表单添加CSRF参数。
  6. 这些是我能想到的最基本的规则。

答案 1 :(得分:0)

在游戏中作弊不是关于您的源代码是否可编辑。

当人们自由地复制和分享他们的工作时,音乐行业遇到了同样的问题,他们认为DRM是避免这种情况的方法。最后,如果您可以在计算机上收听音乐,您将始终可以复制它。

您的游戏源代码也是如此:您可以通过混淆,加密或使用您认为合适的复杂方案来隐藏它,但只要它在您的用户计算机上运行,​​它们就能够改变它。

现在,如果您的某个用户在本地更改了代码并让游戏报告虚假奖金,只要它不是真钱,并且只要不改变其他用户的游戏体验。

我建议阅读以下问题。它不是重复的,但大多数问题应该通过阅读所有答案来回答:What good ways are there to prevent cheating in JavaScript multiplayer games?