起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2910|回复: 9

[结贴] 关于登陆案例的一些问题。

[复制链接]

21

主题

347

帖子

486

积分

中级会员

Rank: 3Rank: 3

积分
486
QQ
发表于 2017-8-7 19:29:57 | 显示全部楼层 |阅读模式
我看了一下官网的登陆案例中,登陆的校验的代码是 userData.count()> 0 。我有如下几个问题。

1.性能问题,这个在前端进行处理登陆验证,速度如何?如果数据库中有几百万条账号密码信息,验证的过程需要多久?(是一瞬间还是要反应十几秒)

2.安全问题,会不会把用户密码数据库中数据库下载以后再进行判断?

3.安全问题2,若用户把app反向以后,把这代码改成 userData.count() < 0 ,自己输一个正确的账号后输入一个错误的密码,就可以登录吗?

13

主题

62

帖子

174

积分

初级会员

Rank: 2

积分
174
QQ
发表于 2017-8-7 20:49:18 | 显示全部楼层
看问题描述就知道是新手
1.登录时把用户名,密码传递到后台,然后后台判断登录逻辑,返回一条数据即可。至于性能与后台有关,与前端没有关系。
2.可以理解成与PC登录验证基本相同,都是把信息提交到后台验证的。
3.登录成功后,可以获取用户名等保存到监控变量里。然后其他页面判断监控变量是否有值,即使没有,可以通过windowdialog跳转到登录界面来重新登录的。
回复 支持 反对

使用道具 举报

21

主题

347

帖子

486

积分

中级会员

Rank: 3Rank: 3

积分
486
QQ
 楼主| 发表于 2017-8-7 21:18:44 | 显示全部楼层
51天天向上 发表于 2017-8-7 20:49
看问题描述就知道是新手
1.登录时把用户名,密码传递到后台,然后后台判断登录逻辑,返回一条数据即可 ...

感谢。我的确是新手,很多东西都不是很明白
回复 支持 反对

使用道具 举报

21

主题

347

帖子

486

积分

中级会员

Rank: 3Rank: 3

积分
486
QQ
 楼主| 发表于 2017-8-7 21:20:50 | 显示全部楼层
51天天向上 发表于 2017-8-7 20:49
看问题描述就知道是新手
1.登录时把用户名,密码传递到后台,然后后台判断登录逻辑,返回一条数据即可 ...

不过这个代码是写在了js里面,理论上也是手机在运行的。为什么是在后端进行处理的?
如果是把表单传到了服务器上面,这个传输的代码我好像并没有看到
回复 支持 反对

使用道具 举报

发表于 2017-8-8 09:42:04 | 显示全部楼层
轻狂之人 发表于 2017-8-7 21:20
不过这个代码是写在了js里面,理论上也是手机在运行的。为什么是在后端进行处理的?
如果是把表单传到了 ...

用户名密码登录!实际上就是根据条件,过滤查询数据!
就相当于sql语句中where 条件部分!  一个用户名和密码肯定只能查询出一条数据的!,如果一条都没有!说明用户名和密码 对应where 条件的数据不存在!

  1. data.setFilter('login',"name='张三' and password='123456'");
复制代码
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

21

主题

347

帖子

486

积分

中级会员

Rank: 3Rank: 3

积分
486
QQ
 楼主| 发表于 2017-8-8 15:42:24 | 显示全部楼层
liangyongfei 发表于 2017-8-8 09:42
用户名密码登录!实际上就是根据条件,过滤查询数据!
就相当于sql语句中where 条件部分!  一个用户名 ...

请问这个查询到底是在用户端进行处理的还是在服务器上面处理的?
回复 支持 反对

使用道具 举报

发表于 2017-8-8 16:16:38 | 显示全部楼层
轻狂之人 发表于 2017-8-8 15:42
请问这个查询到底是在用户端进行处理的还是在服务器上面处理的?

服务器端查询的,它就是sql语句的where条件!最终是执行sql的时候,设置进去的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

21

主题

347

帖子

486

积分

中级会员

Rank: 3Rank: 3

积分
486
QQ
 楼主| 发表于 2017-8-8 16:33:03 | 显示全部楼层
liangyongfei 发表于 2017-8-8 16:16
服务器端查询的,它就是sql语句的where条件!最终是执行sql的时候,设置进去的! ...

谢谢,明白了。
问个问题,如果用户反向工程,把代码中的userData.count() > 0 改成了userData.count() < 0 ,会不会导致输入错误的密码进行了正常的登陆?
回复 支持 反对

使用道具 举报

发表于 2017-8-8 17:34:19 | 显示全部楼层
轻狂之人 发表于 2017-8-8 16:33
谢谢,明白了。
问个问题,如果用户反向工程,把代码中的userData.count() > 0 改成了userData.count() < ...

不会的! 只会导致登录不了!因为最小就是0,不可能小于0的!
就算登录了,也不存在用户信息!你可以在程序判断用户名不存在就自动跳转到登录!

如果想做得严格!
每次请求后台数据,在后台进行判断当前是否登录!  
前台的js代码是管不住的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

21

主题

347

帖子

486

积分

中级会员

Rank: 3Rank: 3

积分
486
QQ
 楼主| 发表于 2017-8-8 17:51:13 | 显示全部楼层
liangyongfei 发表于 2017-8-8 17:34
不会的! 只会导致登录不了!因为最小就是0,不可能小于0的!
就算登录了,也不存在用户信息!你可以在程 ...

ok ,登陆的一些安全疑问可以结贴了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-3 03:55 , Processed in 0.053204 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表