我正在开发使用Flash AS3编码的游戏,需要将信息读/写到SQL Server。
当前,出于测试目的,我使用了ASQL,它非常简单且健壮,但是它需要从客户端计算机到SQL Server的直接连接(端口3306打开,并允许通配符用户名使用密码从任何地方连接),并且更糟糕的是,.swf格式本身未加密,并且所有反编译器都可以让您提取AS3代码,这意味着密码存储在代码中。

我已经收集了一些选项,但是它们都缺乏安全措施:


AS3代码将POST请求发送到连接到MySQL服务器的PHP页面
使用amfphp,但AMF协议仍可监听
保持当前方法并迫使用户将传出端口3306打开,这可能会使客户感到困惑。


帮助/技巧/讨论将不胜感激。

最佳答案

根据所需命令的数量,我认为您应该选择选项1(仅包含一个或几个命令)或选项2(如果您要发送更多复杂的命令)。不要打开您的数据库到公共互联网。

您要解决/保护的问题是什么?如果您所有的应用程序(游戏)逻辑都在客户端,您将无法阻止人们伪造结果。客户端永远不会被信任,线路的安全(https或通信的任何其他加密)都将无济于事-这只会阻止其他人被窃听。

如果您试图确保发布高分或游戏状态-据我所知,您可能很难伪造它们,但除非您至少将一些游戏逻辑移到服务器上,否则您就不可能使其成为不可能。

关于mysql - AS3与MySQL服务器之间的通信,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/335343/

10-11 03:23