【发布时间】:2019-07-30 01:34:22
【问题描述】:
我知道这个问题可能会重复。但我仍然找不到解决方案。假设我有一个像这样的表单
function validateForm(){
var cryptedoriginalPassword = "<? echo $cryptedOriPassword; ?>";
var password = document.forms["userForm"]["password"].value;
if(password != ""){
if(password == crytedoriginalPassword){
return true;
}else{
alert("Password do not match!");
return false;
}
}else{
alert("Please type your password!");
return false;
}
}
<form name="userForm" action="#" onsubmit="return validateForm()" method="POST">
<p>Old Password</p>
<input id="password" type="password" name="password" style="width: 200px;" />
<button>Submit</button>
</form>
我的问题,我设法在 validateForm() 中获取密码值,但是我需要传递给 php 变量,所以我能够检查密码是否与原始密码匹配。我怎样才能做到这一点?
原始密码已加密。这就是为什么我需要获取密码值以便我可以在 php.ini 中对其进行加密的原因。当然,这发生在提交表单之前!
【问题讨论】:
-
为什么要在前端而不是后端进行检查???您是否意识到这根本不安全!?
-
因为我所有的错误信息都在前端的这个表单中。我确实喜欢这样,所以“用户”不需要点击提交按钮然后等待错误出现。对我来说很容易像这样立即验证。这就是我加密密码的原因。我想如果没有解决方案我需要在后端检查。
-
您正在使密码可访问,这是一种安全性....您必须在纯 JavaScript 中进行加密以验证它是否匹配....无法比较两者... . 进行 Ajax 调用或提交表单。你只是自找麻烦
-
你从哪里得到加密密码的?我的意思是加密算法是前端或后端的地方。js密码是纯文本和cryptedpassword不一样..js只是验证字符串不是啊加密匹配。suerly这不是更好的方法。使用ajax调用或表单提交发布请求
-
我在PHP中有一个可以加密密码的函数,当屏幕加载时我已经获取了“用户”信息和密码,然后运行加密密码函数并将其存储到变量中( cryptedOriPassword)。
标签: javascript php html passwords