首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Internet Explorer将错误输入保存为密码

Internet Explorer将错误输入保存为密码
EN

Stack Overflow用户
提问于 2017-02-17 20:01:03
回答 1查看 79关注 0票数 0

我正在尝试创建一个登录表单,它向服务器提交一个加密的密码,同时在表单外部的隐藏字段上设置明文密码。

在Chrome/Firefox中,它会记住隐藏字段中设置的登录/密码,而在IE中,它会记住加密的密码。

我想知道如何解决这个问题。

这就是我所拥有的:

代码语言:javascript
复制
<script>
    function encryptPassword() {
        var txtUsername= document.getElementById("txtUsername");
        var txtPassword= document.getElementById("txtPassword");

        document.getElementById('username').value = txtUsername.value;
        document.getElementById('password').value = txtPassword.value;

        txtPassword.value = encrypt(md5(txtPassword.value), "<%=pubKey %>");
    }
</script>

<div style="visibility: hidden">
    <input type="text" name="username" id="username" style="width:0;height:0" tabindex="-1" />
    <input type="password" name="password" id="password" style="width:0;height:0" tabindex="-1" />
</div>

<form id="form1" runat="server">
    <asp:TextBox ID="txtUsername" autofocus="autofocus" required="required"  runat="server" />
    <asp:TextBox ID="txtPassword" TextMode="Password" required="required" runat="server" />
    <asp:Button ID="btnLogin" OnClick="btnOk_Click" OnClientClick="encryptPassword();" runat="server" />
</form>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-17 20:28:59

在将加密的密码发布到服务器之前,您将其存储在txtPassword中,这就是I.E存储它的原因。您可以将加密密码存储在隐藏字段中,并在身份验证过程中从那里检索它。

替换此行

代码语言:javascript
复制
txtPassword.value = encrypt(md5(txtPassword.value), "<%=pubKey %>");

某物

代码语言:javascript
复制
hfPassword.value = encrypt(md5(txtPassword.value), "<%=pubKey %>");

其中hfPassword将是隐藏字段,您必须将其添加到表单中。

我将被保存为加密文本。不要保存txtPassword值。改为保存hfPassword。txtPassword将仅用于用户交互和对加密功能的输入。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42297462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档