如何保护基于javascript的游戏

如何保护基于javascript的游戏,javascript,php,ajax,security,Javascript,Php,Ajax,Security,我的基于javascript的游戏使用了三个主要变量,它们最后被发送到.php文件,在那里(我认为)经过验证并最终插入数据库 我的问题是-我怎样才能防止我的游戏只是将数据推送到服务器上?有没有可能做到这一点?我没有任何登录表单或用户面板,只是在这一边玩 我考虑在开始时生成某种键或代码,从PHP通过AJAX获得它,玩游戏,将其发送回并与预期结果进行比较。这怎么办?您不能信任用户发送的任何值。因此,确保变量正确的唯一方法是在服务器上运行游戏实例,并让用户向其发送操作。这样,即使用户欺骗客户端,服务器

我的基于javascript的游戏使用了三个主要变量,它们最后被发送到.php文件,在那里(我认为)经过验证并最终插入数据库

我的问题是-我怎样才能防止我的游戏只是将数据推送到服务器上?有没有可能做到这一点?我没有任何登录表单或用户面板,只是在这一边玩


我考虑在开始时生成某种键或代码,从PHP通过AJAX获得它,玩游戏,将其发送回并与预期结果进行比较。这怎么办?

您不能信任用户发送的任何值。因此,确保变量正确的唯一方法是在服务器上运行游戏实例,并让用户向其发送操作。这样,即使用户欺骗客户端,服务器也会拒绝数据,因为它与游戏服务器实例的预期结果不匹配。无论你做什么,用户都可以复制所有客户端代码,根据自己的意愿修改,然后运行自己的版本。隐藏的密钥、加密和其他新奇的东西都变得无用了。因此,Supericy的建议是唯一正确的答案(MMO游戏就是这么做的)。没有责任,就没有强制执行。@dandavis没有责任的必要。例如,如果您有一个可以移动的person对象,并且服务器看到他们在2秒内移动了30米,那么它可以说“不”。不管他们是谁。