3

我有一个登录表单,我需要在其中执行以下操作:

  • 允许自动填充,因此想要不输入登录的用户可以继续这样做
  • 检测表单上是否使用了自动填充,因此当用户稍后尝试访问需要登录而不自动填充的站点部分时,我只会提示用户再次登录(使用不同版本的登录表单,而不是允许自动填充)如果他们在第一个表单上使用了自动填充

目前我还没有找到一种方法来可靠地检测是否使用了自动填充(IE、Firefox、Chrome、Google 工具栏等。-> 任何在没有用户输入的情况下填写表单字段的机制都将在这里算作“自动填充”)。所以现在我只是让用户在没有自动填充的情况下第一次登录(因为这是一个重要的业务需求),然后当他们到达网站的敏感部分时提示他们从禁用自动填充的表单登录,即使他们有事实上,在第一个表格上输入了他们的用户名和密码。

如果有人找到了一种可靠的方法来检测(而不是阻止)所有形式的自动填充,我很想听听。

4

1 回答 1

0

我讨厌这样说,但是你不能,更重要的是你(开发人员)也不能。

您必须想象今天浏览器内置的自动填充功能是过去的旧自动填充应用程序。他们坐在浏览器 DOM 影响之外,从字面上轮询已知窗口的已知属性,即表单,并直接发送击键,就像用户键入它们一样。

当前的浏览器内置了自动填充选项,但它们仍然与旧应用程序一样不标准,因此无法(可靠地)检测到。

通过 JavaScript 忽略它们或始终空白输入字段。

于 2012-04-26T09:09:48.810 回答