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

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

【问题讨论】:

    标签: asp.net-mvc google-chrome


    【解决方案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" 添加这可能会有所帮助
    猜你喜欢
    • 2018-10-21
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多