请检查我的方法,以使用PHP服务器验证移动应用程序

时间:2012-07-31 14:19:37

标签: android security authentication mobile

我正在构建一个需要使用php服务进行身份验证的Android应用程序。我目前的方法是当用户最初登录时,使用uniqid()生成唯一ID。然后将此uid与其用户名一起存储在数据库中的表中。然后,用户将传回此uid。

随后,对服务器的所有进一步请求将发送uid及其用户名,然后在数据库中对其进行检查以验证用户身份。

这种方法可以吗?或者是我遗失的巨大安全漏洞?

1 个答案:

答案 0 :(得分:1)

这里有一些问题。一个uniqid()几乎完全由时间戳组成,并且非常可预测。不要只是重新发明轮子,你应该只使用PHP的session_start()。如果由于某种原因您无法使用PHP的会话,则使用session_id()生成会话ID。

其他问题,如果您的应用程序遭受sql注入,那么攻击者可以将会话ID从数据库中拉出来然后登录。密码被哈希的原因是在数据库遭到入侵后减慢攻击者的速度,如果攻击者拥有会话ID,那么他就不必破解密码哈希登录。 (你正确地散列密码......)一种选择是在存储的会话ID上使用MySQL的aes_encrypt()