开发者社区> 问答> 正文

"记住我"功能 密码反填充如何实现 热:报错 

首先这个功能我是会滴,用cookie就可以实现了,我的问题其实是: 在输入邮箱和密码,勾起“记住我”,然后登录。。。 之后退出。。。 然后可以有两种情况: 1.邮箱和密码已经都填充好了,无需用户输入。。 2.在登录界面输入邮箱之后,密码会自动填充进密码框。。(知乎是这种情况) 首先这两种情况密码在查看页面源代码肯定是看不到的。。。但是页面却显示了。。 查看了知乎的页面源代码也没看见将password value赋值的语句,我想知道这两种情况分别是怎么实现的。。。主要是密码这种敏感的信息怎么填充进页面的。。写入password value肯定不是啦,都被看见了。。。  

展开
收起
kun坤 2020-06-04 21:10:34 597 0
1 条回答
写回答
取消 提交回答
  • 一些浏览器有密码记忆和自动填充功能######回复 @kxt :加密时我用客户端的IP+user-agent+用户ID+秘密字符作为私钥,只要客户端IP或者换浏览器了都无法成功解密进而登录,目前只发现极少数网站的验证cookie与IP进行了绑定......甚至把一个User信息的对象序列化->加密存入cookie,读取时解密后获取这个完整对象。加密解密会加重cpu负担。######回复 @kxt : 眼睛看到的是假象,其实仅仅存了一个通过验证了的cookie,一般cookie是加密的,你随便更改任意字符服务器就认为没有登录######如果是自己实现呢?######我一直以为是浏览器自带的 自己实现没思路 求大神######如果浏览器只记忆了一组帐号,当你打开登录页时就自动填充帐号+密码;当浏览器记住了某网站的多组帐号密码时,你输入其中一个帐号,就会自动填充帐号对应的密码。火狐就是这样的。######可以先清空浏览器的缓存(所有选项全部选中-也包括清除cookie,反正你都说没有看到赋值语句了),然后重启浏览器重新登录,如果没有自动填充,那就是浏览器普通的记住表单功能了,如果有,就宁当别论######这个很明显是浏览器的某个自动填充功能。表在源码里翻了。######

    引用来自“xuhang”的答案

    这个很明显是浏览器的某个自动填充功能。表在源码里翻了。
    我也知道浏览器有自动填充功能,第二种情况就是这样子的,如果自己实现的话有没有好的思路。。。 ######

    引用来自“kxt”的答案

    引用来自“xuhang”的答案

    这个很明显是浏览器的某个自动填充功能。表在源码里翻了。
    我也知道浏览器有自动填充功能,第二种情况就是这样子的,如果自己实现的话有没有好的思路。。。
    自己实现的话,我也不大懂哈,我觉得应该是在本地cookies中保存登陆过的帐号和密码信息,然后登陆的用户名可以做成combobox控件样式,可以选用户名,选中后自动填充密码。或者手动填写用户名,当焦点不在用户名框时比对cookies看有无匹配用户名。我只会ext,实现应该不是很难。 ######

    引用来自“xuhang”的答案

    引用来自“kxt”的答案

    引用来自“xuhang”的答案

    这个很明显是浏览器的某个自动填充功能。表在源码里翻了。
    我也知道浏览器有自动填充功能,第二种情况就是这样子的,如果自己实现的话有没有好的思路。。。
    自己实现的话,我也不大懂哈,我觉得应该是在本地cookies中保存登陆过的帐号和密码信息,然后登陆的用户名可以做成combobox控件样式,可以选用户名,选中后自动填充密码。或者手动填写用户名,当焦点不在用户名框时比对cookies看有无匹配用户名。我只会ext,实现应该不是很难。
    邮箱的填充没问题,关键是密码的填充,填充未加密的不安全,填充加密后的验证和用户体验是个问题。。。 ######为啥没人觉的是本地存个这里自动填充密码的标记和帐号的cookies,后台根据这标记来填充?######这个框只是显示而已.随便贴几个*即可. 主要是cookie里的设置. 但我觉得cookie里设置的不安全.
    2020-06-08 10:32:19
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载