0

任何可用于Flash > MySQL DB集成的简单但安全的脚本?我需要一些用于登录数据库的东西。

用PHP交换变量既好又容易,但显然不安全。

通过远程处理?我已经安装了 Flash 8 远程处理组件,还有一些想法:idea-1idea-2

通过网络连接?得到了一些线索:lead-1lead-2

冷聚变?有人有什么想法吗?


不太可能的解决方案:

  • 通过 XML?有人知道如何使用 XML 连接到数据库吗?(AS2 或 AS3)

  • 出于安全原因,无法使用AMF-PHP (脚本安装在服务器根目录上)

  • Java Server ras 要专门安装在服务器上。

编辑:加密应该使 PHP 解决方案更可行,尽管只为高安全登录数据库提供基本保护。另请参阅:SO :1、2、3Adobe4

4

8 回答 8

2

无论您使用 Flash 还是 PHP,您仍然使用 HTML 表单技术/规范来执行 GET/POST,因此使用 Flash 与使用 PHP、Perl、CGI 等一样安全(或不安全)。

如果您想在登录时获得一定程度的安全性,您应该考虑获得该站点的 SSL 许可证。

于 2008-12-30T13:54:17.523 回答
2

查看 AS3crypto - http://code.google.com/p/as3crypto/ - 这是一个很棒的加密库。

1) 生成 1024 位(或更高,取决于您需要的安全性)RSA 公钥/私钥。

2) 将公钥存储在您的 swf 文件中(这样做是安全的,即使有人反编译了您的 swf)。

3) 将您的私钥存储在服务器上的安全位置。

3) 使用公钥和 AS3crypto 库,加密从 swf 发送的任何数据,然后再将其发送到服务器。

4) 数据到达服务器后,使用只有您可以访问的私钥对其进行解密。

提示 - 最好将时间散列到传输的数据中,以防止有人提交相同的加密数据以获得访问权限。

于 2010-10-21T16:03:26.407 回答
1

过去,我使用 ASP.NET Web 服务通过 SSL 进行登录等 Flex->DB。Flash 应该能够通过 https 与任何网页对话,无论是 ASP.NET、PHP 还是任何其他应用程序服务器。

您能否更具体地说明“高安全性登录数据库”的要求?什么是您的理想解决方案?

ColdFusion 8 也可以在 Linux、Macintosh 和 Solaris 上运行,尽管我自己从未使用过 CF。

http://www.adobe.com/products/coldfusion/systemreqs/

于 2008-12-29T21:40:23.513 回答
1

首先,如果您担心连接的安全性,请不要通过它发送密码:始终使用它的哈希值。就我个人而言,我从不会将纯文本密码保存的时间超过必要的时间。

其余的,基本上就是我在之前的回答中所说的:在第一个“身份验证”调用中,我还将传递会话 ID 以供正常 PHP 使用。在服务器上,您检查会话表中的 ID 并验证包含数据的 POST 是否来自链接到该会话的 IP。然后你验证用户名和指定的哈希值,如果所有这些都是正确的,你可以很确定用户就是他们所说的那个人。

关键是在 PHP 中使用 session_.... 函数。我确保将会话 ID 和匹配的 IP(您可以从$_SERVER['REMOTE_ADDR']获得)都存储在我的会话表中。这样,当小程序调用您的服务器时,您可以检查 sessionID 和 IP 是否匹配,从而增加了一些额外的安全性。

无论如何,这些天没有什么是安全的,而且我也不是安全专家,所以有更好的解决方案。问题是:你愿意为此付出多少努力?

于 2008-12-30T14:01:03.847 回答
1

有一个关于 google 代码的项目,您可以通过 TCP 套接字连接http://code.google.com/p/assql/直接从您的 swf 电影连接到 MySQL 数据库。我从未尝试过,但这听起来很有趣且非常不安全。

于 2009-01-03T02:29:53.883 回答
0

Afaik 不可能通过 ActionScript 直接与 MySQL 服务器通信(除非有人编写了一个实际处理网络内容的包,但我还没有看到)。

我还可以指出,您关于“由于 PHP 不安全”的评论并不准确吗?当您实际上从小程序中执行所有操作时,情况就更糟了:如今,反编译 .SWF 是小菜一碟,然后他们甚至会拥有您数据库的登录数据。

我认为,正如 Ristonj 建议的那样,最好使用 URLRequest 类。

我通常做的是将当前的 php 会话 ID 传递给小程序,以便我可以在初始小程序请求中包含这个和用户 IP。在服务器上,我检查 ip/session 在会话表中是否实际处于活动状态并匹配。如果是这样,用户将获得一种允许他执行请求的命令令牌,这反过来可以执行您的数据库更新。

如果您通过 SSL 连接完成所有这些操作,那么您将非常安全。是的,您必须将 PHP 脚本存储在服务器上,但是获取这些脚本的源代码比仅仅能够反编译小程序并提取所有内容要困难得多:)

我喜欢将所有可能存在危险的程序逻辑只保留在服务器上,而不是小程序中。

于 2008-12-30T12:35:00.493 回答
0

基本上,Flash 必须将用户名+密码详细信息传递给 PHP 脚本以进行身份​​验证……稍后 PHP 将使用 GET/POST 将私人详细信息发送回 Flash。

我需要一些安全措施来确保坏人无法访问这些私人信息。

编辑: PHP>MySQL DB 似乎足够安全。它只是 Flash>PHP 部分需要一些:

  • 加密(散列?)
  • 安全连接(HTTPS 还是通过 SSL 的 HTTP?)
  • 或者更好、更直接的 MySQL DB 方法(Remoting?)。
于 2008-12-30T13:34:57.767 回答
0

直接从 AS3 访问 MySQL——查看: http ://code.google.com/p/assql/

于 2012-09-09T07:12:44.147 回答