Javascript 如何在发送到php脚本之前加密密码?
我想将加密的密码发送到服务器端脚本,在数据库中匹配加密的密码后,如果密码匹配,则将用户重定向到主页 我的Jquery函数:Javascript 如何在发送到php脚本之前加密密码?,javascript,Javascript,我想将加密的密码发送到服务器端脚本,在数据库中匹配加密的密码后,如果密码匹配,则将用户重定向到主页 我的Jquery函数: jQuery('#login_form').submit(function(){ var form_data = new FormData(); form_data.append('login', $('#lg-user').val()); form_data.append('password', CryptoJS.MD5($('#lg-password').v
jQuery('#login_form').submit(function(){
var form_data = new FormData();
form_data.append('login', $('#lg-user').val());
form_data.append('password', CryptoJS.MD5($('#lg-password').val()));
jQuery.ajax({
type: "POST",
url: "processa.php",
data: dados,
success: function( data )
{
alert( data );
}
});
return false;
});
表格:
<form action="" id="login_form" method="post">
<?php
session_start();
if (isset($_SESSION['message']))
{
echo $_SESSION['message'];
unset($_SESSION['message']);
}
?>
<div class="input-group form-group">
<div class="input-group-prepend">
<span class="input-group-text"></span>
</div>
<input type="text" name="username" class="form-control"
placeholder="usuario">
</div>
<div class="input-group form-group">
<div class="input-group-prepend">
<span class="input-group-text"></span>
</div>
<input type="password" name="password" class="form-control"
placeholder="senha">
</div>
<div class="col-md-12">
<div class="text-center">
<input type="submit" value="Entrar" class="btn login_btn">
</div>
</div>
</form>
问题是每次我发送表单时,页面都会重新加载。您的方法非常不安全 通过在客户端对其进行加密并将其发送的内容与数据库进行匹配,您将向服务器发送“证明”用户是他们所说的用户的数据,因此如果有人持有数据库,他们将知道要发送什么 此外,MD5目前还太弱,无法确保密码的安全
要确保密码在传输到服务器时的安全性,请使用HTTPS 要确保数据库中的密码安全,请按照PHP手册中的说明,在服务器端对密码进行散列
要在使用
submit
事件拦截并使用Ajax时停止常规表单提交,请执行以下操作:
preventDefault
控制台中有错误吗?“问题是每次我发送表单时,页面都会重新加载”-所以这与加密密码或PHP无关?如果您只是想阻止页面重新加载。。。不要用JS加密密码,改用https连接。如果页面是https,你不需要这个,但无论如何,MD5会发生冲突,所以我不会用它来验证用户。。。喜欢控制台不会显示ant错误,但我希望在我提交表单时,重定向到主页。我同意你的意见,如果有人能够控制数据库,那么现在开始实施安全措施已经有点晚了
jQuery('#login_form').submit(function(e){
e.preventDefault()