Android -如何正确使用登录名和密码查询在线数据库


Android - How to properly query online database using logins and passwords?

对于我的Android应用程序,我通常通过向各种PHP脚本url发送GET或POST参数来查询数据库,这反过来会生成我在应用程序中解析的xml或json。

但是如果我有一个数据库,其中包含个人受保护的信息,用户通常使用登录/密码来访问,那么从应用程序查询这些信息的最佳方法是什么?我上面的方法可以工作,但我可能需要发送用户的登录/传递作为GET或POST参数…但这似乎是个坏主意…

典型的web应用程序,用户登录,然后从这一点开始使用PHP会话。我不知道如何在Android应用程序中实现这种类型的东西。

我不认为身份验证是独立的android应用程序连接到web服务。

你将复制你在android的web服务中使用的相同的认证机制。也就是说,如果您在web服务(传输明文密码)中使用http身份验证,那么您将在android上复制http身份验证。如果您不想通过网络传递明文凭证,那么首先必须在web服务中实现更安全的东西(https)。

对于我的项目,我使用POST请求将明文凭证传递给服务器。浏览器也传输明文密码。经过身份验证后,服务发回一个令牌(通常是数据库用户id),该令牌必须包含在需要用户登录的所有未来请求中。

存储登录id &密码设置为首选项,我首先使用sha1对其进行散列。这确实意味着,下次向我的web服务传递散列凭证时,必须知道如何处理它。

这个机制很简单,足以满足我的需要。对于这个项目,我真的负担不起像https这样的东西。