我正在开发一个简单的iPhone应用程序,用户注册并使用其电子邮件/密码登录。这些值存储在远程数据库中。在iPhone应用程序中安全地存储远程数据库凭证
我正在使用Cloudant存储这些信息(CouchDB很棒),并且已经为新用户授予了只读权限(创建的API密钥/密码)。为了与Cloudant进行通信,您显然需要一个URL来访问它(例如https://user:[email protected]),它以字符串形式存储在应用程序中。
现在,虽然我知道这是非常不安全的,但为了保持数据库URL安全(特别是它的用户名/密码),我无法想到其他任何替代方法。我已经看到有人谈论使用另一台服务器代理以获取凭据,但它似乎有点尴尬。
任何帮助或想法将非常感激!
这就是我认为会是这样的情况。我的意思是在添加另一个具有Web服务的层(另一个服务器)方面很笨拙。但是,如果这是它必须的方式(和其他人做同样的事情),那很好!我更喜欢最佳实践方法,欢呼! – crawf 2012-01-07 00:08:36
是的,在这种情况下的最佳做法是抽象存储(数据库)。网络服务只会回答“用户/合格组合正确”或“无效登录”到您的应用程序。在这方面,它不是一个真正的代理服务器,把它想象成一个你可以通过HTTP访问的服务器功能;) – shapecatcher 2012-01-07 00:36:45
听起来不错!尽管Web服务的URL仍然位于应用程序内部,并且用户凭证将通过POST发送。它比直接访问数据库要好。感谢您的洞察! – crawf 2012-01-07 00:44:35