如何使Firefox浏览器中的登录/密码字段中的autocomplete=off生效

9 浏览
0 Comments

如何使Firefox浏览器中的登录/密码字段中的autocomplete=off生效

我想防止浏览器存储和显示输入值。以下是我的做法:

...

但出于某些荒谬的原因,即使我完全清除浏览器历史记录,浏览器仍然会存储和显示值。所以,我想知道为什么 autocomplete="off" 不起作用。可能还有其他更合适的方法来解决这个问题。顺便说一句,虽然官方的 W3C 文档中提到,在 HTML5 中,autocomplete="off" 不被尊重(至少在 FF 中)。

0
0 Comments

在Firefox中,使用属性`autocomplete="off"`或`autocomplete="false"`来禁用自动填充功能似乎不起作用。但是,可以使用其他值如`autocomplete="none"`来实现这一目的。

这个问题的解决方法如下:

1. 首先,查看以下链接,了解如何在Chrome中禁用自动填充功能:

- [Chrome automcomplete](https://stackoverflow.com/questions/47775041)

- [disabling-chrome-autofill](https://stackoverflow.com/questions/15738259)

2. 在Firefox中,如果`autocomplete="off"`不起作用,可以尝试使用`autocomplete="none"`来禁用自动填充功能。

3. 如果以上方法都无效,可以尝试使用`autocomplete="new-password"`来解决问题。

0
0 Comments

如何使Firefox中的自动完成=关闭在登录/密码字段中起作用?

现代浏览器内置的密码管理器忽略登录表单中的autocomplete="off"(通常是指具有<input type="password">的表单)。当用户首次通过这样的表单登录时,浏览器会询问用户是否要记住此网站的登录信息。如果用户选择No,则默认行为将继续(因此,autocomplete属性将被尊重,无论其值如何)。但是,如果用户选择Yes,则默认行为将被覆盖,并且它将表现得好像autocomplete总是被打开一样。这是浏览器的默认配置设置。这也在MDN中提到。

您可以通过简单地使用Ajax来绕过这个问题。换句话说,不要使用“纯净的”同步HTML POST表单,而是利用XMLHttpRequest(如果必要的话,间接地通过jQuery或等效方法)。当前的浏览器不会识别通过Ajax进行的登录,因此不会要求用户记住登录信息。

如果您的Web框架不提供内置的Ajax功能,那么考虑使用jQuery。然后,可以通过以下代码来对现有表单进行无侵入式增强。下面的基本示例假设您已经重新设计了服务器端,以根据登录是否成功返回纯文本truefalse的响应。如果必要,可以根据X-Requested-With头的值有条件地响应:

$(document).on("submit", "#loginFormId", function() {
    var $form = $(this);
    $.post($form.attr("action"), $form.serialize(), function(response) {
        if (response) {
            window.location = "home.html"; // 重定向到主页。
        } else {
            $("#errorMessageId").text("Unknown login, please retry");
            $form[0].reset();
        }
    });
});

0
0 Comments

在Firefox浏览器中,使用autocomplete="off"来禁用登录/密码字段的自动填充功能可能会失效。根据https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion#The_autocomplete_attribute_and_login_fields中的描述,许多现代浏览器不支持在登录字段中使用autocomplete="off"。

具体原因如下:

- 如果一个网站在表单中设置了autocomplete="off",并且该表单包含用户名和密码输入字段,那么浏览器仍然会提供记住登录信息的选项,并且如果用户同意,浏览器会在下次访问该页面时自动填充这些字段。

- 如果一个网站在用户名和密码输入字段中设置了autocomplete="off",那么浏览器仍然会提供记住登录信息的选项,并且如果用户同意,浏览器会在下次访问该页面时自动填充这些字段。

虽然这个行为的合理性存在争议,但这是浏览器的预期行为。

那么有没有替代方法来实现不再有效的autocomplete="off"呢?个人没有尝试绕过这个行为,所以只能做出推测。可能有效的方法是不将用户名、密码和提交按钮放在一个表单中,而是在点击按钮或按下回车键后,使用JavaScript将用户名和密码复制到一个隐藏的表单中,然后通过编程方式提交。尽管我一般认为绕过预期行为是一个坏主意,并且会在后续过程中引发问题,比如用户抱怨他们的表单不像他们习惯的那样工作。

0