2012-11-27 37 views
0

我的iPhone应用程序必须经常与mySQL数据库进行通讯;它都会发送请求来接收数据并将数据添加到数据库。创建iPhone - mySQL数据库通讯

现在,我所有的iPhone应用程序都会向PHP脚本发送POST请求,该脚本会检查POST请求并根据请求类型执行查询。现在,我读过这是“糟糕的”,我是一个开始的程序员(特别是服务器端脚本),所以我想知道“最佳方式”或“最佳实践”来做到这一点。

它只是发送一个哈希密码到PHP脚本,以便它在运行请求之前检查并使用SSL?或者还有更多吗?

如果可能的话,请包括相关文档和/或代码让我开始。

谢谢!

回答

1

您需要解决3个基本问题。一点点搜索会让你知道每一个。 1)身份验证 - 控制谁可以访问您的网络服务(取决于您的设置,开箱即用和自行推出有多种选择),2)加密 - 防止某人拦截未加密的邮件到/从你的web服务(SSL应该处理这一点),3)SQL注入 - 这可以处理服务器端

这些是你应该关心的基本问题,并且再次,有大量关于每个问题的网页。

0

从移动应用程序运行对远程数据库的查询不是一个好主意(不管您是否使用花式加密) - 在大多数情况下,它是错误的架构模式。相反,您应该通过REST API(即以JSON格式)公开数据。有一对夫妇的PHP框架/库应该简化这个proccess,一起来看看:http://blog.programmableweb.com/2011/09/23/short-list-of-restful-api-frameworks-for-php/

在移动应用程序,连接到API,解析检索JSONs你的商业模式...... 图书馆像RESTKitAFIncrementalStoreMantle可能会有帮助。

1

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

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

问题2:从iPhone应用程序中与所述Web服务交互。

您仍然需要保护@wzs提到的流量,但您现在已将访问权分离到数据库并访问您的服务。只有服务可以立即访问数据库。

+0

嘿,谢谢你的回答。我不明白“PHP网络服务”中您和其他评论者的意思。 “PHP网络服务”和托管在处理PHP的服务器上的简单.php脚本之间有什么区别? – Konrad