3

我想写一个小游戏,用户必须在给定时间内点击出现的元素/对象。详细地,物体出现在地面上的洞中,并在 x 秒后消失。游戏玩家有 y 条生命,所有点击都会被计算在内,直到他输掉游戏。之后,他的高分被发布到数据库(通过表单发布或 AJAX)。长话短说,我怎样才能避免用户在发送前伪造他的高分?程序语言为JS。

我知道不可能隐藏所有代码并使其无法破解。但我认为,如果代码太难以至于用户必须做很多工作来了解他必须在哪里进行干预才能发送伪造的数据就足够了。

有没有人有一些想法如何使代码尽可能困难?

提前感谢您的任何想法:)

4

3 回答 3

0

你永远不应该真的试图让你的源代码不可读。它会让你自己感到头疼,而不是对任何修改它的人造成任何障碍。

也就是说,您可以重构所有变量名称以完成胡言乱语并使用空格,但是任何认真尝试理解您的代码的人都可以在体面的文本编辑器中恢复它。让它变得更复杂会降低程序的效率 - 否则你可以用对不做任何事情的函数的无用调用和程序不依赖的计数器的奇怪增量来填充它。

于 2012-11-21T21:18:26.947 回答
0

有些压缩机可以完成您想要的工作!其中一些可以下载并用作离线工具,有些可以直接通过网络访问:

http://javascriptcompressor.com

像 jquery 和其他人一样,您可以使用您的代码来维护脚本并提供一个更快的可加载打包版本,该版本几乎不可读

于 2012-11-21T21:21:53.737 回答
0

这个怎么样:

创建两个 PHP 页面,一个包含游戏界面,另一个包含游戏代码。对第一个进行编程,以便它创建一个一次性使用的字符串,当标签从第二个调用 JS 代码时,该字符串将作为参数传递。对第二个进行编程,以便检查发送的字符串的有效性。如果字符串有效,脚本应该输出 JS 代码,然后使字符串无效。

然后,当用户复制脚本的 URL,将其粘贴到浏览器中,然后点击“返回”时,他看到的只是空白页或“未授权”消息。

于 2012-11-21T21:33:11.077 回答