目前将 Flash AS2/AS3 连接到 MySQL 数据库的主要方式有:
- Flash > PHP > MySQL -- PHP 脚本中的“安全代码”
- Flash Asql或Assql > MySQL -- MySQL 存储过程中的“安全代码”
第二种方法较新,但使用二进制套接字和ByteArrays直接连接到 MySQL DB 。
在哪种情况下,“安全代码”会更难访问,因此更安全?
我假设无法通过 FTP 访问存储过程,因此可能更难闯入?
目前将 Flash AS2/AS3 连接到 MySQL 数据库的主要方式有:
第二种方法较新,但使用二进制套接字和ByteArrays直接连接到 MySQL DB 。
在哪种情况下,“安全代码”会更难访问,因此更安全?
我假设无法通过 FTP 访问存储过程,因此可能更难闯入?
似乎 assql 和二进制套接字都是使用套接字连接到数据库的同步链接。这对于 AIR 应用程序可能很好,但对于浏览器应用程序可能会存在很大问题。这确定是你想要的吗?您关于通过存储过程访问的问题让我觉得您对这些东西不太确定。
事实上,正确使用 PHP 可能更容易在您的应用程序(及其主机)和数据库之间构建可靠的抽象和安全间接屏障。
Web 客户端和服务器使用 http 协议进行通信。这被称为“无状态”和“无连接”(这只是有点真实)协议,因为两者之间的连接只持续只要客户端请求所有内容并且服务器发送回所有内容。明显的好处是服务器只在很短的时间内知道每个客户端。
套接字(在这两种协议使用一个的意义上)是客户端和服务器之间永久建立的连接,它一直持续到一端或另一端关闭它(基于连接);并且双方都知道连接的状态(打开或关闭)。因此,它们会长时间占用每个客户端的大量主机资源,当连接中断时,事情就会变得古怪。差别很大,它不能通过支持网页的端口运行——需要在主机和客户端上提供另一个端口(有时是两个)来支持套接字。
我不确定 asql 是否适用于代理背后的用户,所以我不会将它用于网站。中间使用 PHP 的方法似乎更好,您可以(并且应该)为您的应用程序建模与您的数据库结构不同的 api。
存储过程只能由具有正确数据库凭据的人访问,因此假设没有人破解您的数据库密码,它们将是安全的。您知道 PHP 代码实际上可能更安全,因为您可以将数据库密码保存在服务器上而不是主机应用程序中。
我想您总是可以反编译 flash 并尝试在主机应用程序中找到密码,因为使用 asql 密码将存储在主机应用程序中,而不是隐藏在 PHP 后面的服务器上