请求浏览器在子路径上以不同方式自动填充

Posted

技术标签:

【中文标题】请求浏览器在子路径上以不同方式自动填充【英文标题】:Request browser to autofill differently on a subpath 【发布时间】:2013-12-30 14:38:20 【问题描述】:

关于浏览器自动填充功能的快速问题。我经常被我建立的网站所困扰,浏览器试图在前端自动填充与后端相同的凭据 (/admin/)。

我很好奇是否有人有这方面的经验,以及是否可以用 html(5/Meta?)简单地完成。

我想知道我是否可以告诉浏览器在其本地自动填充列表中单独注册一个子路径 (http://www.domain.com/admin)。

【问题讨论】:

【参考方案1】:

没有标准化的方式告诉浏览器“认为这是一个不同的站点”,除了实际上使它是一个不同的站点(例如,将管理 UI 置于子域 - admin.domain.com)。

您唯一的方法是通过使用<input> 标记的autocomplete="off" HTML 属性来禁用默认浏览器自动完成功能(您只能在 admin 子目录中禁用它):

<input type="text" name="field" autocomplete="off" />

可接受的解决方案是使用某种类型的 javascript 自动完成器。然后,您可以使用 cookie 在客户端本地存储历史记录。 使用例如带有本地存储的 jquery 自动完成器非常简单 - 看这里:

Autocomplete (jQuery UI) and localstorage

那么您当然可以完全控制存储的完成方式。

安全注意事项

如果您真的不希望用户自动填写表单,您应该知道,虽然主要是 browser will respect autocomplete=off,但用户 fight against it for several reasons;他们使用在这种情况下仍会自动完成的插件(例如autocomplete on for FF 或Chrome)。在这种情况下,用户总是获胜,客户端可以根据需要修改 HTML。鲁莽的自动补全中有security risks involved,所以你可以试着说服用户这对他们不好。

您还可以在这里找到一些有用的 cmets:How do you disable browser Autocomplete on web form field / input tag?

【讨论】:

以上是关于请求浏览器在子路径上以不同方式自动填充的主要内容,如果未能解决你的问题,请参考以下文章

用户记住密码,取消浏览器表单记忆自动填充

哪个高手能说一下chrome的“表单填充”有啥用

解决Google浏览器保存密码自动填充

Monolog 自动填充 RequestId / TraceId 请求链路追踪标识

如何防止在铬浏览器中自动填充同一主机上的表单?

整理14. 禁止自动填充浏览器记住的密码?