2010-07-26 51 views
3

我们有以下几点:加密从iPhone到Web应用程序的请求?

  1. iPhone本机应用程序,使用登录表单员额:

  2. 远程Web服务器上的PHP脚本,它会针对MySQL的用户表。

为了安全起见,最好的做法是使用某种双向加密来加密每个请求?包括这个初始登录?否则用户和通行证将简单地传递到Web应用程序的清晰?

我想HTTPS会自动照顾它......

+0

如果使用https,即https://oursite.com/login.php进行初始登录,我可以生成一个唯一的身份验证密钥字符串,iPhone应用程序可以使用它来处理所有后续请求。除非用户注销iPhone应用程序,否则该密钥不会过期,因为我们不希望它们必须一直重新登录。 – matt 2010-07-26 02:35:28

+0

是的。这就像穷人的HTTPS一样 - 你从运输工具的堆叠中取出加密和/或签名的负担。可能更便宜地扩展您的服务,更容易出错。如果您只是想要这样做,那么通常会使用签名cookie来完成网站中的“记住我”功能。 – 2010-07-26 06:08:43

回答

1

使用https可能是要走的路。这是它的设计目的。

2

这将是非常明智的使用SSL或TLS(即HTTPS使用协议)与服务器进行通信。使用OpenSSL,您可能很容易在* nix或Windows服务器上进行设置。如果您使用的是共享主机,他们可能会选择购买在给定时间段内有效的SSL证书。这是一个相当平凡的过程,通常需要大约一周(平均)才能建立大多数主机。

还应该注意的是,尽管对登录过程进行加密绝不是一个坏主意,但如果您从网络上进行登录并不安全,它将不会使“系统全部”更加安全。例如,如果您保护与移动设备的通信,但不与台式机或笔记本电脑保持通信,则您的安全性可能已接近。您的应用程序的安全性与其最薄弱的环节一样强大,因此保护您的整个应用程序(适用于所有平台)非常重要。

另外,请记住,用户的登录凭证只与其保护的数据或资源一样有价值:如果您对登录信息进行了加密,那么也应该对其余应用程序进行加密。无线嗅探技术很容易窃取会话数据,私人用户信息或其他敏感数据。确保整个用户会话 - 而不是仅仅登录过程 - 在你的用户的最佳利益。

希望这有助于!