0

这是我正在使用的基本联系方式 Web 应用程序的粗略“另存为”:

http://dtbaker.net/files/webfiles/auto-complete-issues.html

每当我在“联系人”页面上时,它会将我保存的用户名放入“新组”框,将保存的密码放入“设置密码”框,如下图所示:

自动完成错误的屏幕截图

正如您在上面链接的 HTML 代码中看到的那样,在“组”输入框上使用了非标准的 autocomplete=off 属性:

<input type="text" name="group_module_name[user][new]" autocomplete="off">

它甚至在密码输入框中:

<input type="password" name="password_new" autocomplete="off" value="">

这里的问题是,每次我点击“保存联系人”时,它都会用我保存的密码覆盖这个联系人密码,并创建一个与我的用户名相同的新联系人组。

任何人的想法?

4

2 回答 2

1

浏览器忽略的原因autocomplete=off是因为有一些网站试图禁用密码的自动完成。

那是错的; 2014 年 7 月,Firefox 是最后一个最终实施更改以忽略任何试图关闭密码自动完成功能的网站的主要浏览器。

任何网站试图绕过浏览器的偏好都是错误的,这就是浏览器忽略它的原因。没有理由知道为什么网站应该尝试禁用密码保存。

  • 铬忽略它
  • Safari 忽略它
  • IE 忽略它
  • Firefox 忽略它

如果我是一个特殊的雪花呢?

有些人提出了一个很好的用例:

我有一个共享的公共区域的信息亭式计算机。我们不希望有人(无意或有意)保存他们的密码,以便下一个用户可以使用它。

这并不违反声明:

任何网站试图绕过浏览器的偏好都是错误的

这是因为在共享信息亭的情况下:

  • 具有古怪策略的不是网络服务器
  • 它是客户端用户代理

浏览器(共享计算机)要求不尝试保存密码。防止浏览器保存密码的正确方法是将浏览器配置不保存密码。由于您已锁定并控制此信息亭计算机:您可以控制设置。这包括保存密码的选项。

在 Chrome 和 Internet Explorer 中,您可以使用组策略(例如注册表项)配置这些选项。

Chrome 政策列表

启用自动填充

启用自动填充

数据类型:布尔值 (REG_DWORD)

Windows 注册表位置: Software\Policies\Chromium\AutoFillEnabled

说明:启用 Chromium 的自动填充功能,并允许用户使用以前存储的信息(例如地址或信用卡信息)自动填写 Web 表单。如果禁用此设置,用户将无法访问自动填充。如果启用此设置或未设置值,自动填充将保持在用户的控制之下。这将允许他们配置自动填充配置文件并自行决定打开或关闭自动填充。

如果希望您的浏览器停止自动完成条目,那么需要配置您的浏览器以匹配您的偏好。任何网站或安全审计员都不应试图将他们的意见强加给我。没有理由阻止我的浏览器在我家中,在我的锁和钥匙下保存我想要的任何东西——它是的浏览器。

请告诉我们,尝试禁用密码自动补全是错误的,浏览器故意忽略任何尝试这样做的人,他们应该停止做错事。™</p>

于 2015-02-07T03:25:12.720 回答
-1

我通过添加具有动态名称和 ID 的虚拟输入字段来解决问题

<input type="password"  id="dummytoavoidAutoFill<?php echo date('ljSFYhisA');?>" name="dummytoavoidAutoFillFBN" value="" style="display:none;"/>
于 2015-04-28T14:18:10.703 回答