我的iPhone应用程序必须非常定期地与mySQL数据库通信;它既发送接收数据的请求,又向数据库添加数据。
现在,我的iPhone应用程序所做的就是向一个PHP脚本发送一个POST请求,该脚本检查POST请求并根据请求类型执行查询。现在,我读到这是“糟糕的”,我是一个初级程序员(特别是服务器端脚本),所以我想知道“最佳方法”或“最佳实践”来做到这一点。
它只是简单地向PHP脚本发送一个哈希密码,以便在运行请求之前进行检查,并使用SSL?或者还有更多的东西呢?
如果可能,请包括相关文档和/或代码来帮助我入门。
谢谢!
发布于 2012-11-27 21:05:04
您需要解决3个基本问题。稍微用谷歌搜索一下,你就会得到每一个网站的信息。1)身份验证--控制谁有权访问您的web服务(取决于您的设置,有许多选项可供选择),2)加密--防止有人拦截发往/来自您的web服务的未加密消息(SSL应处理此问题),3) SQL注入--这可以在服务器端处理
这些都是你应该关注的基本问题,再说一次,每个问题在网上都有大量的好信息。
发布于 2012-11-27 22:12:55
您有两个问题要解决,而不是一个(堆栈溢出问题中经常出现这种情况:-)。
问题1:创建允许与MySql数据库进行适当交互的PHP服务。
问题2:在您的iPhone应用程序中与上述web服务进行交互。
您仍然需要保护@wzs提到的流量,但是您现在已经将对数据库的访问和对服务的访问分开了。现在只有服务可以访问数据库。
发布于 2012-11-27 22:04:51
从移动应用程序运行远程数据库查询不是一个好主意(不管你是否使用花哨的加密)--在大多数情况下,这是一个错误的架构模式。
相反,您应该通过REST API (即。JSON格式)。有几个PHP框架/库可以简化这个过程,请看一下:http://blog.programmableweb.com/2011/09/23/short-list-of-restful-api-frameworks-for-php/
在移动应用程序上,连接到API,将检索到的JSON解析为您的业务模型...像RESTKit,AFIncrementalStore,Mantle这样的库可能会有帮助。
https://stackoverflow.com/questions/13584690
复制相似问题