据我所知,这真的不可能,但我只是想确定在我转向闪存之前.
我可以使html5游戏足够安全,这样人们在玩游戏时就无法改变他们的分数和其他变量吗?
谢谢!
解决方法
因为您的用户可以看到所有源代码,这是一个相当复杂的问题.
他们可以在运行时轻松更改任何函数或变量,而无需脚本知道.
即使使用复杂的签名功能来验证结果.
他们可以在运行时轻松更改任何函数或变量,而无需脚本知道.
即使使用复杂的签名功能来验证结果.
我很抱歉,但我认为科林斯的方式也不会奏效.我可以改变任何输入,使服务器做我想做的任何事情.
也许通过服务器持续监控分数将能够检测到任何不可能的变化.仍然有人在“可能的”结果的领域作弊将是未被捕获的.
最后我会说你只能让它变得难以作弊,但对于那些有一点技巧的人来说并非不可能.
不要将它用于任何你可以通过得分最高的比赛赢得比赛的比赛.
既然这件事对人们来说似乎很令人费解:
flash提供已编译的swf文件,这些文件不能(因为flash 9)被反编译为有用的.sthth
所以你可以在那里设置一个秘密用于签署分数.
即发送得分和得分密钥的md5.所以服务器(也知道密钥,可以检查它).
此外,flash变量不容易发脾气(你必须在ram中找到它们并在那里更改它们,这是一项非常复杂的任务),而javascript变量可以使用例如webkit开发人员工具轻松编辑
更新
实际上我纠正自己=>所有swfs都可以反编译
这只会让代码混淆和“加密”
我猜这个世界毕竟是个坏地方;)