好吧,所以当我定义变量'$ password'是什么时,我使用'sha1'来散列我的密码,然后在登录阶段,我再次使用'sha1'但是我的错误消息登录凭证无效是唯一发生的事情。哈希密码登录错误
registration.php的
$password = sha1($_POST['password']);
$password_escaped = mysqli_real_escape_string ($db, $password);
$query = "INSERT INTO admin (forename,surname,email,securityq, securitya,password) VALUES ('$forename_escaped','$surname_escaped','$email_escaped','$securityq_escaped','$securitya_escaped','$password_escaped')";
的login.php
if (!empty($_POST['email']))
{
$email = $_POST['email'];
$password = sha1 ($_POST['pass']);
include('connect-db.php');
$query = mysqli_query ($db, "SELECT * FROM admin WHERE email = '$email' AND password = '$password'");
$row = mysqli_fetch_array ($query);
if(!empty($row['email']) AND !empty($row['password']))
{
$_SESSION['email'] = $row['password'];
成功或失败的消息
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Successful Login')
window.location.href='adminhome.php';
</SCRIPT>");
}
else
{
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Invalid Login Credentials')
window.location.href='adminsignin.php';
</SCRIPT>");
}
}
}
if(isset($_POST['submit']))
{
SignIn();
}
这个代码有什么问题,它不会让我用哈希密码登录?
您可以** SQL注入**!请也停止使用** mysql _ ***函数被弃用,将被从PHP 7中删除,开始使用准备好的语句和** mysqli _ ***或** PDO **来避免以前的问题.. – Naruto
我知道对这段代码我可能会添加一些参数来防止这种情况。你有没有什么可以分享我的实际问题? –
这是非常多的代码。也许你应该尝试将问题简化为核心并仅发布相关部分,包括如何试图让哈希运行。举一个最小的例子并不是最糟糕的想法。 – AbcAeffchen