我将如何创建登录

时间:2011-07-25 16:58:08

标签: android mysql login

设置: 我有一个Android应用程序,到目前为止可以通过将值插入远程mysql数据库来注册用户。我现在正在尝试实现登录。

我原以为我可以在数据库中的用户表中添加一个“登录”列,用于存储用户是否已登录。然后我会有一个触发器会在某个用户关闭后将用户关闭已经过了一段时间。

应用程序的用途是根据用户是否有权访问某个文件来检索文件。为此,我在用户表格表中有一个“访问”列,指定用户对某个文件的访问权限。我想当用户点击列表中的项目时,应用程序将发送他们的登录信息,服务器将确定信息是否正确,然后检查他们是否有权访问指定的文件,然后发送回文件,如果信息是对的。

我遇到的问题是,检查注册信息需要大约2秒钟(由于连接到套接字并通过网络发送字符串),如果我尝试检查登录和访问ID它需要稍长时间。

我觉得好像我正在尝试重新发明轮子,但我找不到任何可行的资源来解决这个问题。批评?建议?

(我不介意做一个完整的重新设计,我只需要知道从哪里开始)

1 个答案:

答案 0 :(得分:1)

永远不要将客户端连接到数据库服务器。没有办法拦截黑客攻击尝试,因为权限是非常基本的(SELECT,UPDATE等,他们忽略了查询):

UPDATE users SET name='%s' WHERE userID=%i // where %i will be defined as the real userID

上面应该是一个有效的查询来更新用户的帐户信息,但是,黑客可以轻松拦截并将其更改为:

UPDATE users SET name='%s' WHERE userID=15 // ... or any other variable

相反,您应该创建一个基于Web的API,它将验证每个查询,或者更好,仅支持特定的API命令:

account/update.json?name=%s
相关问题