2008-12-02 37 views
1

我正在开发一个在Flash AS3中编码的游戏,需要读取/写入信息到SQL服务器。 目前,为了测试目的,我使用了ASQL,它非常简单和健壮,但它需要从客户端机器到SQL服务器的直接连接(端口3306打开并允许通配符用户名使用密码从任何地方连接) ,.swf格式本身没有加密,所有的反编译器都会让你提取AS3代码,这意味着存储在代码中的密码。AS3和MySQL服务器之间的通信

我已围捕了一些选择,但他们都缺乏安全措施:

  1. AS3代码发送POST REQ到连接到MySQL服务器
  2. 使用amfphp PHP页面,但AMF协议仍然可以嗅探
  3. 保持当前的方法并强制用户打开输出端口3306,这可能会让用户感到困惑。

帮助/提示/讨论将不胜感激。

回答

0

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

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

如果您正在尝试确保发布高分或游戏状态 - 据我所知,您可以很难伪造它们,但除非您至少将某些游戏逻辑移至服务器,否则无法使其无法实现。

1

您可以使用HTTP(S)进行身份验证,例如, PHP。不要让脚本成为SQL连接的包装器,因为这会破坏脚本的重要性(本质上);有自定义命令作为协议(例如添加/更新高分)。