我想对javascript变量是用户编写的密码进行密码检查。我想检查它是否正确,我通过比较用户写给我的php变量的内容来做到这一点,这个变量存储了实际的值。
这不是一个安全的解决办法。我怎么能改变它。我想要if声明和以前一样在同一个地方?
她是我的密码:
var password=$("#password").val();
if(password!='<?php echo "$password"; ?>'){
alert("No changes has been made due to wrong password.");
}
else{
$.ajax({
type: "POST",
url: "modify_profile.php",
data: {"firstname":firstname,"lastname":lastname},
success: function( data){
}
});
}
});这是modify_profile.php。
<?php
require("../db/connect.php");
$email='test@gmail.com';
$written_password=( $_POST['firstname']);
if( isset($_POST['firstname']))
{
$firstname=( $_POST['firstname']);
$query=mysqli_query($dbcon, "UPDATE user SET first_name='$firstname' WHERE email='$email'");
$result = mysqli_query($dbcon,$query);
}
if( isset($_POST['lastname'])) {
$lastname=( $_POST['lastname']);
$query=mysqli_query($dbcon, "UPDATE user SET last_name='$lastname' WHERE email='$email'");
$result = mysqli_query($dbcon,$query);
}
require("../db/close.php")
?>发布于 2013-08-31 13:10:10
您不能拥有那种样式的if语句并保持安全。安全性要求您不存储密码。
为了安全起见,你必须:
即使不是这样,要求浏览器(由用户控制)检查密码是否正确也是不安全的,因为用户可以直接查看JavaScript并在else语句中发出HTTP。
你需要做这样的事情:
$.ajax({
type: "POST",
url: "modify_profile.php",
data: {"firstname":firstname,"lastname":lastname, password: password},
success: function( data){ }
})https://stackoverflow.com/questions/18548499
复制相似问题