0

我的 iPhone 应用程序必须定期与 mySQL 数据库通信;它既发送请求以接收数据,又向数据库添加数据。

目前,我的 iPhone 应用程序所做的只是向 PHP 脚本发送 POST 请求,该脚本检查 POST 请求并根据请求类型执行查询。现在,我读到这很“糟糕”,而且我是一名初级程序员(尤其是服务器端脚本),所以我想知道“最佳方法”或“最佳实践”来做到这一点。

它是否只是将散列密码发送到 PHP 脚本,以便它在运行请求之前检查并使用 SSL?或者还有更多?

如果可能,请提供相关文档和/或代码以帮助我入门。

谢谢!

4

3 回答 3

1

你有两个问题要解决,而不是一个(堆栈溢出问题中经常出现这种情况:-))。

问题 1:创建一个允许与您的 MySql 数据库进行适当交互的 PHP Web 服务。

问题 2:从您的 iPhone 应用程序中与所述网络服务交互。

正如@wzs 所提到的,您仍然需要保护流量,但您现在已经分离了对数据库的访问和对服务的访问。现在只有服务可以访问数据库。

于 2012-11-27T14:12:54.840 回答
1

您需要解决 3 个基本问题。一点谷歌搜索将为您提供每个信息。1) 身份验证 - 控制谁可以访问您的 Web 服务(取决于您的设置,有很多开箱即用的选项和您自己的选项),2) 加密 - 防止有人截取未加密的消息到/来自您的网络服务(SSL 应该处理这个),3)SQL 注入——这可以在服务器端处理

这些是您应该关注的基本问题,同样,对于每个问题,网络上都有大量的好信息。

于 2012-11-27T13:05:03.740 回答
0

从移动应用程序对远程数据库运行查询不是一个好主意(无论您是否使用花哨的加密)——在大多数情况下,这是一种错误的架构模式。

相反,您应该通过 REST API(即 JSON 格式)公开数据。有几个 PHP 框架/库可以简化这个过程,看看:http ://blog.programmableweb.com/2011/09/23/short-list-of-restful-api-frameworks-for- php/

在移动应用程序上,连接到 API,将检索到的 JSON 解析为您的业务模型...... RESTKitAFIncrementalStoreMantle等库可能会有所帮助。

于 2012-11-27T14:04:51.250 回答