如何阻止Firefox弹出保存2FA验证码的提示?
如何阻止Firefox弹出保存2FA验证码的提示?
我太懂这种糟心的体验了——每次输完动态验证码,Firefox冷不丁跳出来问要不要保存“密码”,明知道这码每分钟都在变,完全没意义。给你几个实用的解决思路:
用用户脚本给2FA字段打标记
很多网站的2FA输入框虽然用了type="password",但通常会带特定的类名或ID(比如totp-input、verify-code这类)。你可以写个简单的用户脚本,给这些字段加上autocomplete="one-time-code"属性——Firefox已经支持这个标准属性,识别后就不会乱弹保存提示了。示例脚本如下:// ==UserScript== // @name 标记2FA验证码字段 // @match *://*/* // @grant none // ==/UserScript== document.querySelectorAll('input[type="password"]').forEach(input => { // 可根据实际网站的字段特征调整判断条件 const isTotpField = input.classList.contains('totp') || input.id.includes('code') || input.placeholder.includes('验证码') || input.placeholder.includes('TOTP'); if (isTotpField) { input.setAttribute('autocomplete', 'one-time-code'); } });把这个脚本放到用户脚本管理器里,它会自动帮你识别并标记2FA字段,完美解决误提示问题。
针对单个网站禁用密码保存
如果某个网站频繁弹这个提示,而你又不想用脚本,下次弹出保存提示时,点击「从不保存此网站的密码」就行。不过要注意:这个操作会同时禁用该网站的账号密码保存,如果你本来需要Firefox记住账号密码,这个方法就不太合适。
关于你提到的“给HTML加专门的2FA字段类型”,其实行业已经有解决方案了——就是上面用到的autocomplete="one-time-code",这是W3C制定的标准属性,专门用来标记一次性验证码字段。可惜不少网站开发者还没普及这个设置,才导致浏览器误判。相信随着2FA的普及,越来越多网站会加上这个属性,从根源解决问题。
备注:内容来源于stack exchange,提问作者Anonymous




