不少 App 隔一段时间就会让用户重新输入一次密码,这样做的意义是什么?不这么做有什么隐患呢?
本人 iOS 开发者一枚,不知道是否该为自己的 App 添加这个行为
1
annielong 2017-10-18 17:01:46 +08:00
肯定是为了安全,长时间使用本地缓存登陆信息毕竟有风险,当年 Hotmail 的免登陆害惨多少人
|
2
lyragosa 2017-10-18 17:06:54 +08:00 4
印象中是怕用户忘密码。
|
3
SvenWong 2017-10-18 17:07:42 +08:00
对于平台的意义就不说了,对于我肯定是有意义的,长期需要重新登陆,密码都特么忘记了,还要去找回密码
|
4
imn1 2017-10-18 17:10:53 +08:00
防沉迷
|
5
MajestySolor 2017-10-18 17:24:19 +08:00
草鸡讨厌这种做法,烦
|
6
Technetiumer 2017-10-18 17:51:21 +08:00 via Android
这应该不只是 App 这样
如果在公共设备上登录忘了登出怎么办 设备丢失怎么办 设备不再手边谁都可以查看怎么办 缓存时间很长如何知道用户那边还是用户本人 |
7
takanasi 2017-10-18 17:53:57 +08:00
我用过一个会过期但是又自动保存密码的 app
|
8
WuwuGin 2017-10-18 18:05:54 +08:00 via Android
你用不上的场景不代表别人用不上,比如用户完全不懂保护隐私,在闲置很久以后出售设备,忘记登录状态,这时候就能防止被他人登录。
|
9
woyaojizhu8 2017-10-18 18:21:54 +08:00
静止是相对的,运动是绝对的
|
10
66450146 2017-10-18 18:42:48 +08:00
比较常见的做法是不保存密码,登陆的时候给一个 token,这个 token 有一个有效期(一般是几个星期),在接近有效期的时候用这个 token 再申请一个新的(有效期从申请时重算),原 token 作废
|
11
misaka19000 2017-10-18 19:04:56 +08:00
看来你们没有用过掘金的 APP,好像一个礼拜就会自动让你退出登录,然后登录失败不提示任何信息,我不知道到底是密码错了还是网络有问题,总之就是不让你登录,感觉掘金的产品经理应该挺**的
|
12
sobigfish 2017-10-18 19:30:04 +08:00
1 看 app 本身对安全的需求,比如 v2 这种社区,完全没必要啊 但支付 app 支付订单时不验证登录也要验证支付密码,是否登录的设备在常用环境等
2 过期没问题,如果在过期前进了 app,完全可以刷新下 过期时间 /token |
13
eminemcola 2017-10-18 19:32:43 +08:00 via Android
把一个永久的登录态存储在客户端的安全风险是比较大的。
|
14
odirus 2017-10-18 19:38:17 +08:00 via Android
不能图方便,最好长远规划一下系统,这就是码农和高级码农的区别。
采用 token 方案的话,如果初期没什么系统安全性,可以让 token 永久有效;后期如果有安全性要求,可以调整有效期。这样设计,用户可以随时让某台设备退出,系统也可以根据一些风控系统,让异常登陆被强制退出。 就好比以前我们的一个短信发送接口是没有预留图形验证码的问题一样,后期想在发短信时显示图形二维码,结果老客服端不支持,只能做一些更加费力的方案。 |
15
opengps 2017-10-18 20:12:04 +08:00
你试试,你银行密码登录后不过期多危险
|
16
mingyun 2017-10-18 23:52:55 +08:00
微信不用,已经几年没登陆过微信了
|
17
cuebyte 2017-10-19 06:44:00 +08:00
情景之一:一个小白,手机没锁,丢了。App 如果做不到设备登陆管理的话,过期登陆是最廉价的方式了。
|
19
fujianjin6471 OP 非常感谢大家的建议 O(∩_∩)O
准备让 token 有效期为 1 个月,如果不合适再调整 |
20
fujianjin6471 OP @lyragosa 有个说法是忘记密码不要急,只要有完善的找回机制😂
|
21
TheC 2017-10-19 13:41:14 +08:00
嗯...难道不是因为从前大家都用 memcache 存 session,而 memcache 在存数据的时候必须要填一个过期时间吗 XD
|