设置iPhone应用程序登录到PHP web应用程序后端

设置iPhone应用程序登录到PHP web应用程序后端,php,iphone,login,Php,Iphone,Login,我不是iPhone开发人员,但我正在着手一个项目,该项目基于一个PHP后端服务器,该服务器向iPhone用户代理提供数据,我想知道从哪里开始会话/安全性 使用浏览器,我只需在登录时传递cookie(包含会话id) 然而,我想知道iPhone是否有所不同。iPhone应用程序是否可以访问存储空间,比如cookie/令牌?iPhone应用程序用户代理有什么特别之处吗?iPhone上的Safari浏览器与台式mac或PC上的Safari非常相似。它支持cookie、会话和javascript。因此,不

我不是iPhone开发人员,但我正在着手一个项目,该项目基于一个PHP后端服务器,该服务器向iPhone用户代理提供数据,我想知道从哪里开始会话/安全性

使用浏览器,我只需在登录时传递cookie(包含会话id)


然而,我想知道iPhone是否有所不同。iPhone应用程序是否可以访问存储空间,比如cookie/令牌?iPhone应用程序用户代理有什么特别之处吗?

iPhone上的Safari浏览器与台式mac或PC上的Safari非常相似。它支持cookie、会话和javascript。因此,不需要登录。iPhone上的Safari浏览器与台式mac或PC上的Safari非常相似。它支持cookie、会话和javascript。因此,对于登录,您不必做任何特殊的操作。

使用NSURLRequest的东西默认使用NSHTTPCookieStorage。当然,cookie不会在应用程序之间共享

您还可以使用NSUserDefaults或使用keychain(SecKeychain*函数)额外存储内容;keychainAPI有点麻烦,但也有一些例子。我更喜欢用钥匙链来处理任何特别敏感的事情;大多数文件都是未加密存储的,大多数人不启用加密备份(我不确定使用没有密码的密钥链是否安全,但嘿…)


您可能还需要担心令牌的保存时间(在iPhone上键入是一件痛苦的事情,默认情况下浏览器不保存密码)以及撤销令牌的容易程度。

使用NSURLRequest的东西默认使用NSHTTPCookieStorage。当然,cookie不会在应用程序之间共享

您还可以使用NSUserDefaults或使用keychain(SecKeychain*函数)额外存储内容;keychainAPI有点麻烦,但也有一些例子。我更喜欢用钥匙链来处理任何特别敏感的事情;大多数文件都是未加密存储的,大多数人不启用加密备份(我不确定使用没有密码的密钥链是否安全,但嘿…)


你可能还想担心代币的保存时间(在iPhone上打字很痛苦,浏览器默认情况下不保存密码),以及撤销代币的难易程度。

我的应用程序是同一对平台。我不会弄乱PHP会话或cookie。我通过SSH使用普通的旧POST用户名和密码字段登录,并返回会话令牌(基于用户名的哈希)。在应用程序中,我将其存储在默认值中。然后,在每次调用PHP中需要用户身份或授权的函数时,我都要求返回该令牌。再一次,我只是将其作为一个普通的旧表单字段传递


顺便说一句,我是ASIHTTPRequest web客户端函数库的大力支持者。我与作者无关,我只是一个新的iPhone开发人员,这个库让我的生活变得简单多了。

我的应用程序是同一对平台。我不会弄乱PHP会话或cookie。我通过SSH使用普通的旧POST用户名和密码字段登录,并返回会话令牌(基于用户名的哈希)。在应用程序中,我将其存储在默认值中。然后,在每次调用PHP中需要用户身份或授权的函数时,我都要求返回该令牌。再一次,我只是将其作为一个普通的旧表单字段传递


顺便说一句,我是ASIHTTPRequest web客户端函数库的大力支持者。我与作者无关,我只是一个新的iPhone开发者,这个库让我的生活变得简单多了。

Ok,但我不是在说浏览器——我是在说一个通过XML/JSON与服务器通信的iPhone应用。Ok,但我说的不是浏览器——我说的是一个通过XML/JSON与服务器通信的iPhone应用程序。永远不要基于用户名/ID/电子邮件等进行哈希运算。。基于诸如
mt_rand()
和当前的
microtime()
等随机事件创建它们更安全,因为它们永远不会基于用户名/ID/电子邮件等进行哈希运算。。基于诸如
mt_rand()
和当前的
microtime()