2

我正在开发一个 iPhone 应用程序,它需要使用位于我自己的服务器上的 Joomla 生成的数据库。
有很多解决方案,所以为了提高安全性,我决定通过 PHP 与数据库“对话”。

我有一个这样的 PHP 页面:

www.mypage.com/iphonelogin.php ?username=USER1&password=XXX&option=login

option可以是:, getuserinfo, login,reset password等等。

问题是存储在数据库中的密码是加密的。( MD5(password+Salt):Salt)

所以,我想知道如何通过以下方式做到这一点:

  • 低安全方式:PHP从APP获取纯文本密码,从de DB获取全加密密码。然后 PHP 使用 salt,加密密码并进行比较,然后返回 YES 或 NO 给 APP。

  • 其他方式:PHP从APP获取密码REVERSIBLE加密并解密,然后同上。

  • 不错的安全方式(很慢):PHP 从数据库中获取完全加密的密码,然后将 Salt 显示给 APP。APP以Joomla方式对密码进行加密,并将完整的加密密码发送给PHP,由PHP进行比较并返回YES或NO给APP。

我需要高安全性和快速连接,因为每次应用程序需要数据库中的某些内容时,都必须确认登录。

请告诉我要使用什么或其他方法。

4

1 回答 1

0

您应该在客户端 <=> Joomla 服务器设置中编写会话管理功能集。

此工作流程将看到用户只输入一次电子邮件和(普通)密码,然后从服务器请求会话令牌。

然后可以在每次客户端需要来自服务器的数据时验证此令牌。

正如您所指出的,永远不要将数据库直接暴露给客户端。对于任何设置来说,这都是一个坏主意。您应该始终在客户端和服务器之间保留一个接口/API 缓冲区,以消除潜在的安全风险。

于 2013-07-31T05:31:00.427 回答