所以我的登录脚本有问题。我在我的数据库中存储了一个加盐的 MD5 哈希,而且……当我使用此语句后跟此代码时,无论密码是什么,它都会登录。
我不确定它是否是语法,或者只是我使用它的方式,但如果用户存在,即使密码是“lalala”并且人输入“chicken”,它也会登录。
$sql = ("select * from website where `Email`='$user' and `Password`='$pass'");
$query = mysql_query($sql);
if ($query) {
$data = mysql_fetch_array($query, MYSQL_ASSOC);
if (sizeof($data) > 0) {
$_SESSION['vuser'] = $_POST['vuser'];
header('Location: /');
die;
}
}
这是它的运行方式:
index.php --> Presses login (Sends POST data) --> login.php (This script) --> (如果登录则返回/index.php,否则返回/login .php。
我在那里有一个名为“blah”的测试帐户,盐渍 MD5 哈希为“lolcatz”。如果我在用户名部分输入“blah”,密码为“stackoverflow”,它将转到“index.php”有什么想法吗?