保护Flash到PHP通信

时间:2012-09-23 13:50:39

标签: php flash security encryption actionscript

我有一个带有php后端和MySQL数据库的Flash游戏。

要玩游戏,用户必须登录。在游戏过程中,客户端还会定期向数据库发送更新。例如,当用户购买新的游戏内物品时。

我有两个问题。首先,用户名和密码以纯文本形式发送到服务器(但是在我的数据库中加密)。其次,在登录后,将向客户端发送用于在所有后续请求中使用的用户ID。这些请求也以纯文本形式发送。

这两种通信都受到数据包嗅探的威胁。一旦有人了解了对服务器的请求结构,他们就可以创建自己的伪造请求,替换他们自己的值/用户ID,并且通常会引起很多不满。

我有什么选择?会购买SSL证书并使用https作为解决方案吗?我可以使用公钥/私钥类型吗?

1 个答案:

答案 0 :(得分:0)

除了SSL的明显好处之外,还有一些缺点:

  1. 您必须加密所有内容或不加密。

    • 这意味着,如果您的网站显示第三方广告或类似内容,则必须确保所有这些广告都通过安全连接提供。

    • SSL加密流量几乎是未加密流量的两倍。对于您通常不想加密的图像和其他资产而言,这将特别痛苦。

    • SSL加密计算成本很高,并且会在您的服务器上增加一些负载(不用担心,除非您有很多服务器端处理,但对于大型应用程序,这是一个重要因素)

  2. 证书需要花钱,必须更新。

  3. Flash存在一些已知问题,通过SSL进行通信,而不是发送会话Cookie,尤其是在使用加密连接时。

  4. 现在,通常,您绝对不希望自己实现安全性。我不会考虑它,如果赌注很高,但我不确定你的具体情况是什么,我会考虑选择性加密的可能性,只针对重要的事情,特别是因为用户赢了'如果您在Flash中而不是在浏览器级别上执行“安全”内容,则会收到关于“不安全”内容的可怕消息。

    有一些加密库可以在Flash中进行RSA加密,类似地,你可以在服务器端做RSA。可能应该根据安全投资对项目的盈利程度来决定实现这一目标的方法。