在本地而不是服务器端做某些事情是否安全?

时间:2014-02-19 00:54:29

标签: php mysql ios

假设我有一个iPhone应用程序通过PHP API与服务器上的数据库通信,我在$_SESSION (you know, this can be painful sometimes)中保存用户ID等问题时出现问题,所以或者,我可以将它存储在NSUserDefaults或iPhone钥匙串中,并在需要时将其发送到服务器,在应用程序端而不是服务器端执行此类操作是否错误/不安全?

1 个答案:

答案 0 :(得分:0)

关于NSUserDefaults

As per this thread:在普通设备上你无法真正得到它,但如果它被越狱,plist文件很容易阅读和更改,它无论如何都不加密,所以它可能不安全的用户名,密码或任何个人信息,除非你保存它,你做一些加密哈希,然后保存。

另一方面,您可以尝试iOS Keychain or the iCloud Keychain。它说here

这非常安全,因为任何尝试阅读iCloud Keychain的新设备都需要以下其中一项:

  • 您现有的某个设备会通过手动接受的推送通知来验证连接。

      

    在其他设备上启用iCloud Keychain时,使用iCloud Keychain的其他设备会收到请求批准其他设备的通知。批准其他设备后,您的iCloud Keychain会自动开始在该设备上进行更新。

  • 您的iCloud安全码

      

    当您设置iCloud Keychain时,系统会要求您创建iCloud安全代码。它可以是类似于设备密​​码锁的4位数代码,也可以为您自动生成更复杂的代码。 iCloud安全代码用于授权其他设备使用您的iCloud Keychain。它还用于验证您的身份,以便您可以执行其他iCloud Keychain操作,例如在丢失所有设备时恢复iCloud Keychain。

    Entering the code incorrectly multiple times causes manual verification method

  • 短信验证到您的手机。

      

    使用您首次设置iCloud Keychain时提供的支持SMS的电话号码的设备。验证码通过短信发送到此电话号码。如果您无法访问此号码contact Apple Support,他可以验证您的身份,以便您可以在新设备上完成设置。

此外,您还可以protect your iCloud account / Apple ID by enabling two factor authentication,以便在许多情况下 - 首次在新设备上使用您的iCloud密码会触发推送通知警告以及Apple在您使用密码时发送的自动电子邮件一个新设备。

总结:

  1. 当您在iCloud的新设备上使用密码时,会收到电子邮件通知 - 无需选择加入步骤。
  2. 钥匙串同步增强了保护/双因素身份验证,再次无需选择加入。
  3. 您可以选择加入AppleID双因素身份验证,以进一步防止密码丢失/略过。