V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
aPaul
V2EX  ›  问与答

如何隐藏浏览器控制台中查看 Elements Properties input type="password" 的 value 值呢

  •  
  •   aPaul · 2022-11-03 09:33:37 +08:00 · 1902 次点击
    这是一个创建于 751 天前的主题,其中的信息可能已经有所发展或是发生改变。

    发现在登录页,用 Chrome 浏览器 F12 打开控制台,查看 Elements => Properties 可以看到 input 密码框的 value 明文值,如何隐藏起来呢

    18 条回复    2022-11-03 15:27:38 +08:00
    shadowyue
        1
    shadowyue  
       2022-11-03 09:38:23 +08:00
    为啥你不想让别人看?能用使用当前这台电脑的人,说明电脑认为他就是是机主。机主看自己密码还不行吗?
    如果使用当前电脑的人不是机主,说明这个电脑真正的机主没有管理好自己电脑的使用权,不用输密吗?不用人脸解锁吗?
    cxe2v
        2
    cxe2v  
       2022-11-03 09:41:03 +08:00
    可以给你的客户设计 USB key ,密钥烧录在 U 盾里,需要用你自行编写的软件才能正确读取,插上 U 盾认证身份之后直接进入登录状态,这样就没人能看到密码了
    dingwen07
        3
    dingwen07  
       2022-11-03 09:52:35 +08:00 via iPhone
    SHA 是可以 update 的
    用户输入一个字字符就 update 一下,只在 JS 里存 hash 过的内容

    但是这样就不能退格,而且服务器也没法知道用户的明文密码
    systemcall
        5
    systemcall  
       2022-11-03 09:54:19 +08:00 via Android   ❤️ 1
    改成手机扫一扫登录,把密码框删掉
    shintendo
        6
    shintendo  
       2022-11-03 09:58:06 +08:00
    @shadowyue 那为什么 chrome 设置里查看保存的密码需要二次验证 windows 密码呢
    akaxiaok339
        7
    akaxiaok339  
       2022-11-03 10:05:13 +08:00
    虽然不知道有什么意义 但是你可以选择在打开控制台时清空 input
    https://github.com/AEPKILL/devtools-detector
    IvanLi127
        8
    IvanLi127  
       2022-11-03 10:07:32 +08:00 via Android
    自己用 div 实现一个模拟输入框的控件。
    mcone
        9
    mcone  
       2022-11-03 10:07:58 +08:00
    @shintendo 为了堵住一些小白的嘴
    其实你不输入也能看,密钥和密文都在电脑里直接存着呢,自己解就行
    cairnechen
        10
    cairnechen  
       2022-11-03 10:21:12 +08:00
    @shintendo

    很长一段时间都是直接可以看的,之前开发者的逻辑就是你物理主机都不安全了,我这里多加一步毫无意义
    mengdu
        11
    mengdu  
       2022-11-03 10:26:52 +08:00
    感觉整个非对称性加密就可以了。
    shadowyue
        12
    shadowyue  
       2022-11-03 10:35:51 +08:00
    @shintendo 二次验证 windows 密码,chrome 不就是为了确认当前用户是机主本人吗?我的意思就是这个不应该在前端尝试去处理。因为确认当前用户是否是机主本人对前端而言是比较困难的,这个核验应该是系统或 app 来做才更加合理。
    aPaul
        13
    aPaul  
    OP
       2022-11-03 10:38:02 +08:00
    @dtdths1 这个没太懂唉
    dtdths1
        14
    dtdths1  
       2022-11-03 10:46:34 +08:00
    @aPaul 我理解错了。一开始我以为是在控制台里把 input 的 type 由 password 改为 input 来看密码明文(我就经常这么搞),那样用这个可以监听 dom 的修改,如果被修改了就清空;
    另外有个思路就是把实际的输入值存 js 内存里,输入框不展示实际密码?
    shintendo
        15
    shintendo  
       2022-11-03 11:22:06 +08:00
    @mcone
    @cairnechen

    这个怎么说呢,算是“只能防小白的安全措施有没有意义”的问题,我倾向于是有意义的,当然这里还涉及到安全和方便的 tradeoff 了
    shintendo
        16
    shintendo  
       2022-11-03 11:30:58 +08:00
    @shadowyue
    对的,我的意思是 Chrome 在这里存在逻辑不一致,既然在设置页要求确认,意味着它认为使用者不一定是机主本人。至于前端,这当然跟前端是没有关系的。
    这块 Firefox 的逻辑是,如果用户不设置主密码,则已保存密码随便看,如果用户设置了主密码,则查看已保存密码时需要验证主密码,并且在网页上自动填充密码时也要验证主密码。
    nekoneko
        17
    nekoneko  
       2022-11-03 15:09:46 +08:00
    @akaxiaok339 #7 挡不住油猴脚本或者实时脚本
    ```
    javascript:"use strict";!function(){for(var t=document.getElementsByTagName("input"),e=0;e<t.length;e++)"password"===t[e].getAttribute("type")&&t[e].setAttribute("type","text")}();
    ```
    把这个保存成书签, 要看的时候点一下
    christin
        18
    christin  
       2022-11-03 15:27:38 +08:00 via iPhone
    做成 Linux 输入密码不显示那种,直接把密码存在 js 里提交。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1140 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 18:39 · PVG 02:39 · LAX 10:39 · JFK 13:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.