我正在尝试创建一个登录表单,它向服务器提交一个加密的密码,同时在表单外部的隐藏字段上设置明文密码。
在Chrome/Firefox中,它会记住隐藏字段中设置的登录/密码,而在IE中,它会记住加密的密码。
我想知道如何解决这个问题。
这就是我所拥有的:
<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>发布于 2017-02-17 20:28:59
在将加密的密码发布到服务器之前,您将其存储在txtPassword中,这就是I.E存储它的原因。您可以将加密密码存储在隐藏字段中,并在身份验证过程中从那里检索它。
替换此行
txtPassword.value = encrypt(md5(txtPassword.value), "<%=pubKey %>");某物
hfPassword.value = encrypt(md5(txtPassword.value), "<%=pubKey %>");其中hfPassword将是隐藏字段,您必须将其添加到表单中。
我将被保存为加密文本。不要保存txtPassword值。改为保存hfPassword。txtPassword将仅用于用户交互和对加密功能的输入。
https://stackoverflow.com/questions/42297462
复制相似问题