Javascript 在IE9中提交表单之前哈希密码
我已经为我的一个网站实现了本文中给出的示例: 在IE9用户开始报告他们无法登录到该站点之前,一切都很顺利。用户已经启用了javascript,但我仍然无法理解为什么会发生这种情况。同样的用户可以使用其他浏览器登录,因此也不会忘记密码(我非常怀疑!) formhash函数的编写与文章中的完全相同(从图像复制它非常烦人!)Javascript 在IE9中提交表单之前哈希密码,javascript,hash,internet-explorer-9,Javascript,Hash,Internet Explorer 9,我已经为我的一个网站实现了本文中给出的示例: 在IE9用户开始报告他们无法登录到该站点之前,一切都很顺利。用户已经启用了javascript,但我仍然无法理解为什么会发生这种情况。同样的用户可以使用其他浏览器登录,因此也不会忘记密码(我非常怀疑!) formhash函数的编写与文章中的完全相同(从图像复制它非常烦人!) 提交时不会报告任何错误,因此IE9似乎不支持任何错误。那么这个散列函数出了什么问题 结果表明IE9不喜欢修改表单输入,因此必须在将元素添加到DOM之前设置值 function
提交时不会报告任何错误,因此IE9似乎不支持任何错误。那么这个散列函数出了什么问题 结果表明IE9不喜欢修改表单输入,因此必须在将元素添加到DOM之前设置值
function formhash(form, password) {
console.log("Hashing form");
// Create a new element input, this will be our hashed password field.
var p = document.createElement("input");
p.name = "p";
p.type = "hidden"
p.value = hex_sha512(password.value);
// NOW, add the new element to our form.
form.appendChild(p);
// Make sure the plaintext password doesn't get sent.
password.value = "";
// Finally submit the form.
form.submit();
}
要归功于谁遇到了我的确切问题这不是你要问的问题,但是如果你担心通过网络发送密码,为什么不使用SSL呢?
function formhash(form, password) {
console.log("Hashing form");
// Create a new element input, this will be our hashed password field.
var p = document.createElement("input");
p.name = "p";
p.type = "hidden"
p.value = hex_sha512(password.value);
// NOW, add the new element to our form.
form.appendChild(p);
// Make sure the plaintext password doesn't get sent.
password.value = "";
// Finally submit the form.
form.submit();
}