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

记住密码功能如何实现?

  •  
  •   firhome · 2016-11-01 17:46:21 +08:00 · 11657 次点击
    这是一个创建于 2948 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前端页面上有个记住密码的 checkbox 。
    请问如何实现?

    下次打开 自动填充了账号和密码。(肯定不是直接把密码存 cookie 吧)
    17 条回复    2016-11-02 14:26:24 +08:00
    tabris17
        1
    tabris17  
       2016-11-01 17:49:25 +08:00   ❤️ 1
    交给浏览器就好
    withinthefog
        2
    withinthefog  
       2016-11-01 17:55:34 +08:00
    选中记住密码的 checkbox 后, 这次登陆生成一个带过期时间的 cookie 活着 token 返回给客户端, 下次用户打开浏览器时判断 cookie 或 token 的有效期, 没过期的就直接认为用户已登录
    firhome
        3
    firhome  
    OP
       2016-11-01 18:22:49 +08:00
    @withinthefog 不会被伪造么?
    ETiV
        4
    ETiV  
       2016-11-01 18:27:42 +08:00 via iPhone   ❤️ 1
    网页上都是“保持登录”,哪有记住密码的
    btjoker
        5
    btjoker  
       2016-11-01 18:27:54 +08:00
    朋友,你需要读读 HTTP cookies 详解
    misaka19000
        6
    misaka19000  
       2016-11-01 18:31:51 +08:00 via Android
    这种功能不要去做,意义不大且很不安全
    xiongbiao
        7
    xiongbiao  
       2016-11-01 18:35:56 +08:00
    同二楼, 不记住密码的话发个不带过期时间的 cookie 就行了 退出浏览器就被干掉
    misaka19000
        8
    misaka19000  
       2016-11-01 18:39:14 +08:00 via Android
    @withinthefog 题主要的不是自动登录,是自动记住密码
    yhxx
        9
    yhxx  
       2016-11-01 18:41:36 +08:00
    有记住密码吗?
    一般都是保持登录状态吧
    cheetah
        10
    cheetah  
       2016-11-01 18:48:04 +08:00
    记住我,忘记密码
    liuzhen
        11
    liuzhen  
       2016-11-01 18:58:39 +08:00
    网页保存登录后的 token 到 cookie 就好
    liuzhen
        12
    liuzhen  
       2016-11-01 19:00:21 +08:00
    @liuzhen 我理错题意~
    liuzhen
        13
    liuzhen  
       2016-11-01 19:02:44 +08:00
    这种功能我一般把账号存进 cookie

    下次进页面从 cookie 读账号填充账号文本框

    密码框由浏览器记忆填充
    SpicyCat
        14
    SpicyCat  
       2016-11-01 22:01:56 +08:00
    自动填充用户名还行,自动填充密码完全没必要。做个保持登陆状态一段时间即可。
    msg7086
        15
    msg7086  
       2016-11-02 06:49:18 +08:00
    最好别做记住密码,会被人打死的。保持登录就行了。
    withinthefog
        16
    withinthefog  
       2016-11-02 14:01:35 +08:00
    @firhome 伪造可以通过 https, token 签名等方式规避, 但是要 100%安全是不可能的, 可以去看下 json web token

    千万不要去做什么帮用户记住密码然后填充, 这个让用户自己用浏览器活着第三方工具(1password 等)实现
    annielong
        17
    annielong  
       2016-11-02 14:26:24 +08:00
    最好不要做,现在浏览器都带记住密码功能,这个安全的锅还是甩给用户好了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1106 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 22:45 · PVG 06:45 · LAX 14:45 · JFK 17:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.