从应用程序内表单的文本框中删除已保存的密码

Posted

技术标签:

【中文标题】从应用程序内表单的文本框中删除已保存的密码【英文标题】:removing saved password from textboxes for forms inside the application 【发布时间】:2016-06-01 10:48:13 【问题描述】:

我有一个应用程序,其中存在正常登录。登录后,用户可以创建其他用户,我们的表单中包含用户名和密码字段。 现在我的问题是,当登录应用程序和浏览器时要求记住密码。如果我说是,然后我去创建其他用户,那么表单会显示我用于登录的用户名密码已经填写。 我想记住主登录表单的密码,但不希望在创建其他用户时显示这些密码。这主要来自铬。也可能出现在移动浏览器中的其他浏览器中。 我尝试清除文档准备好的文本框并将表单的自动完成设置为关闭。但没有成功。如果我从密码文本框中删除 type="password" 属性,则浏览器不会自动填充用户名/密码文本框,但这会导致密码显示。 欢迎提出任何解决此问题的建议。

【问题讨论】:

【参考方案1】:

使用AutoComplete=off autocomplete 属性指定输入字段是否应启用自动完成功能。

 <input type="email" name="email" autocomplete="off">

自动完成功能允许浏览器预测值。当用户开始输入字段时,浏览器应根据之前输入的值显示填充字段的选项。

注意:自动完成属性适用于以下类型:text, search, url, tel, email, password, datepickers, range, and color

更新 显然chrome 忽略了autocomplete="off" 这个问题将帮助你 Chrome Browser Ignoring AutoComplete=Off

更新 3 还有另一种适用于人们的解决方案,那就是使用autocomplete="false"

参考 w3school

【讨论】:

这也会使浏览器无法记住主登录名,这是 OP 的要求 @Mo09890 一个问题请您是否希望文本框记住密码,如果您想保留它on 如果不是那么off 您不能同时拥有这两个密码只是不可能 我猜 OP 正在使用两种形式,一种用于登录,一种用于创建新用户,我的建议是在每种形式中使用不同的 id 来欺骗浏览器,但你是对的,将一个设置为autocomplete="off" 是正确的方法。 @KhawajaAtteeq 我已经尝试在文本框控件和表单上关闭自动完成功能,但这不起作用 @user1542652 chrome有问题,在firefox中能正常工作吗?【参考方案2】:

您不能告诉浏览器只自动填写一组用户名和密码!对浏览器的任何类型的关于用户名和密码的指令都会存在安全风险。

最好的办法是让输入控件具有不同的 ID 和名称,这样浏览器就不会认为这与它保存信息的表单相同。

【讨论】:

@AhsanAzizAbbasi 这只会阻止 asp.net 跟踪您发送的值,它不会阻止浏览器记住这些值。 autocomplete="off" 添加这可能会有所帮助

以上是关于从应用程序内表单的文本框中删除已保存的密码的主要内容,如果未能解决你的问题,请参考以下文章

如何在文本框中保存电子邮件或密码 c#/.net Windows Form [关闭]

如下图:如果在密码文本框后加隐藏域是不是是对密码文本框中输入的内容有效?红圈内的输入内容起作用?

Django中将一个文本框中的数据通过点击按钮保存到数据库

刷新表单以在 Visual Studio/C# 的组合框中更新和保存新条目

将文本框中的数据保存到文本文件中

捕获 window.onbeforeunload