V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fujianjin6471
V2EX  ›  程序员

登录信息过期有什么意义?

  •  
  •   fujianjin6471 · 2017-10-18 16:51:05 +08:00 · 5199 次点击
    这是一个创建于 2374 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不少 App 隔一段时间就会让用户重新输入一次密码,这样做的意义是什么?不这么做有什么隐患呢?

    本人 iOS 开发者一枚,不知道是否该为自己的 App 添加这个行为

    22 条回复    2017-10-19 14:31:38 +08:00
    annielong
        1
    annielong  
       2017-10-18 17:01:46 +08:00
    肯定是为了安全,长时间使用本地缓存登陆信息毕竟有风险,当年 Hotmail 的免登陆害惨多少人
    lyragosa
        2
    lyragosa  
       2017-10-18 17:06:54 +08:00   ❤️ 4
    印象中是怕用户忘密码。
    SvenWong
        3
    SvenWong  
       2017-10-18 17:07:42 +08:00
    对于平台的意义就不说了,对于我肯定是有意义的,长期需要重新登陆,密码都特么忘记了,还要去找回密码
    imn1
        4
    imn1  
       2017-10-18 17:10:53 +08:00
    防沉迷
    MajestySolor
        5
    MajestySolor  
       2017-10-18 17:24:19 +08:00
    草鸡讨厌这种做法,烦
    Technetiumer
        6
    Technetiumer  
       2017-10-18 17:51:21 +08:00 via Android
    这应该不只是 App 这样

    如果在公共设备上登录忘了登出怎么办
    设备丢失怎么办
    设备不再手边谁都可以查看怎么办
    缓存时间很长如何知道用户那边还是用户本人
    takanasi
        7
    takanasi  
       2017-10-18 17:53:57 +08:00
    我用过一个会过期但是又自动保存密码的 app
    WuwuGin
        8
    WuwuGin  
       2017-10-18 18:05:54 +08:00 via Android
    你用不上的场景不代表别人用不上,比如用户完全不懂保护隐私,在闲置很久以后出售设备,忘记登录状态,这时候就能防止被他人登录。
    woyaojizhu8
        9
    woyaojizhu8  
       2017-10-18 18:21:54 +08:00
    静止是相对的,运动是绝对的
    66450146
        10
    66450146  
       2017-10-18 18:42:48 +08:00
    比较常见的做法是不保存密码,登陆的时候给一个 token,这个 token 有一个有效期(一般是几个星期),在接近有效期的时候用这个 token 再申请一个新的(有效期从申请时重算),原 token 作废
    misaka19000
        11
    misaka19000  
       2017-10-18 19:04:56 +08:00
    看来你们没有用过掘金的 APP,好像一个礼拜就会自动让你退出登录,然后登录失败不提示任何信息,我不知道到底是密码错了还是网络有问题,总之就是不让你登录,感觉掘金的产品经理应该挺**的
    sobigfish
        12
    sobigfish  
       2017-10-18 19:30:04 +08:00
    1 看 app 本身对安全的需求,比如 v2 这种社区,完全没必要啊 但支付 app 支付订单时不验证登录也要验证支付密码,是否登录的设备在常用环境等
    2 过期没问题,如果在过期前进了 app,完全可以刷新下 过期时间 /token
    eminemcola
        13
    eminemcola  
       2017-10-18 19:32:43 +08:00 via Android
    把一个永久的登录态存储在客户端的安全风险是比较大的。
    odirus
        14
    odirus  
       2017-10-18 19:38:17 +08:00 via Android
    不能图方便,最好长远规划一下系统,这就是码农和高级码农的区别。

    采用 token 方案的话,如果初期没什么系统安全性,可以让 token 永久有效;后期如果有安全性要求,可以调整有效期。这样设计,用户可以随时让某台设备退出,系统也可以根据一些风控系统,让异常登陆被强制退出。

    就好比以前我们的一个短信发送接口是没有预留图形验证码的问题一样,后期想在发短信时显示图形二维码,结果老客服端不支持,只能做一些更加费力的方案。
    opengps
        15
    opengps  
       2017-10-18 20:12:04 +08:00
    你试试,你银行密码登录后不过期多危险
    mingyun
        16
    mingyun  
       2017-10-18 23:52:55 +08:00
    微信不用,已经几年没登陆过微信了
    cuebyte
        17
    cuebyte  
       2017-10-19 06:44:00 +08:00
    情景之一:一个小白,手机没锁,丢了。App 如果做不到设备登陆管理的话,过期登陆是最廉价的方式了。
    lancerly
        18
    lancerly  
       2017-10-19 09:00:32 +08:00
    @mingyun 微信有后台的大数据支撑的,当然不单单用你的密码来判断啦
    fujianjin6471
        19
    fujianjin6471  
    OP
       2017-10-19 11:33:22 +08:00
    非常感谢大家的建议 O(∩_∩)O
    准备让 token 有效期为 1 个月,如果不合适再调整
    fujianjin6471
        20
    fujianjin6471  
    OP
       2017-10-19 11:33:52 +08:00
    @lyragosa 有个说法是忘记密码不要急,只要有完善的找回机制😂
    TheC
        21
    TheC  
       2017-10-19 13:41:14 +08:00
    嗯...难道不是因为从前大家都用 memcache 存 session,而 memcache 在存数据的时候必须要填一个过期时间吗 XD
    kylix
        22
    kylix  
       2017-10-19 14:31:38 +08:00
    @TheC 貌似很有道理,我...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5306 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 08:50 · PVG 16:50 · LAX 01:50 · JFK 04:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.