0

我坐在这里做一个小项目,在这种情况下它介于 PHP 和 Obj-c 之间。

在这些之间进行安全身份验证的最佳实践是什么?

就像是

myhost?do=login&user=my_username&password=my_password

感觉有点不安全,因为用户名和密码是公开的。

我想我可以为此做一些 SSL(?),但是有没有人有另一个好的解决方案的好例子?

我的想法是登录为用户表(MySQL)设置了一个 auth_key,如果上面的 GET 变量是正确的,它将返回 userid 和这个 auth 密钥。然后,在我对 PHP 所做的每一件事上,此身份验证密钥都会更新并返回给用户(obj-c 程序),并且在服务器上完成的所有操作都针对此密钥进行身份验证,这只是为了不“显示”每个密码时间和使用密钥时,它没用,因为它已更新...

但是,这不能阻止任何人手动执行此操作,因为密钥是在登录时收到并更新的。

有什么想法可以让这更安全,还是我只是偏执?

4

2 回答 2

0

将 POST 与 SSL 一起用于用户名和密码表单

于 2012-11-14T21:44:53.477 回答
0

GET 和 POST 之间的区别实际上并不重要 - 两者都是 HTTP 请求,只要您不加密数据,就可以嗅探请求的纯正文。当然,登录应该作为 POST 请求,但只是因为它不是幂等的,并且可能有副作用 [db 写入、会话启动等]。

您可能只想通过 HTTPS 协议切换到 SSL,以确保您的数据安全。

作为 [真正] 最低限度的保护,您可以使用Basic HTTP Auth,它在发送登录凭据之前在 Base64 中进行编码 - 您可以使用RestKit轻松完成此操作。

于 2012-11-14T21:56:34.073 回答