我有一个表单,用户可以在input text field
中输入密码。我想在md5中转换该字符串,所以在post到action页面我将拥有md5版本的字符串而不是字符串。是否可以仅在后侧而不是在输入文本中更改输入值?
这样的事情:
function go(){
var pass = document.getElementsByName('pass')[0].value;
pass = md5(pass);
form.pass.value=pass;
}
只是一个伪代码。但是以这种方式它将改变用户在md5版本中插入的文本。我希望用户不必看到它,但在形式$ _POST ['pass']的动作中的php页面将有md5版本的传递。我希望你理解。我的英语不是很好;)
解决方案: HTTPS是最好的解决方案,但为了避免它可以创建一个隐藏的输入字段,用md5 pass填充它并清理密码字段;)
var rp = md5(pass.value);
document.rP.value=rp;
pass.value="";
答案 0 :(得分:3)
你试图以错误的方式解决这个问题。
最佳解决方案是使用HTTPS。这意味着您不必担心模糊输入的密码。
在我的解决方案中,我通过HTTPS接受纯文本密码,然后更进一步检查他们的密码不是我在本地存储的12,000个左右的“简单”密码之一。