我说的是没有上限分数的动作游戏,无法通过重放动作等来验证服务器上的分数.
我真正需要的是Flash/PHP中可能的最强加密,以及一种阻止人们通过我的Flash文件调用PHP页面的方法.我曾经尝试过一些简单的方法,可以对单个分数进行多次调用,完成校验和/斐波那契序列等,并且还使用Amayeta SWF加密对SWF进行模糊处理,但最终都被黑客攻击了.
感谢StackOverflow的回复,我现在从Adobe找到了更多信息 - http://www.adobe.com/devnet/flashplayer/articles/secure_swf_apps_12.html和https://github.com/mikechambers/as3corelib - 我想我可用于加密.不知道这会让我想到CheatEngine.
如果它们不同,我需要知道AS2和AS3的最佳解决方案.
主要问题似乎是TamperData和LiveHTTP标题,但我知道还有更高级的黑客工具 - 比如CheatEngine(感谢Mark Webster)
我正在尝试建立一种技术来验证来自我的服务器的一些数据,用于简单的Javascript游戏.我知道尝试保护您的Javascript应用程序存在许多问题,因为根据定义,所有代码都可以在客户端使用.
例如,因为它是一个游戏,如果:
var playerScore = 100
Run Code Online (Sandbox Code Playgroud)
阻止人们简单地编辑Javascript并运行它...
var playerScore = 10000000
Run Code Online (Sandbox Code Playgroud)
...我将在服务器上验证它.然而,这(对我来说)似乎只是增加了一个非常微不足道的额外步骤来破解游戏.hacker\tweaker难道只是将我的Ajax请求的目的地改为他们自己的本地文件吗?
我想过可能会尝试在客户端和服务器之间比较一些常见值(例如日期)的即时密钥\加密,但同样,加密方法可见是如此微不足道以避免.
我知道这是一个非常广泛的主题,但有没有任何人可以推荐的最佳实践?我已经看过这篇文章(防止Javascript游戏调整/黑客攻击),它有助于防止某些篡改,但我不确定如何验证正确的服务器端验证正在发生.
一如既往,非常感谢提前.