0
所以,这是我的代码:这个粗糙的PHP验证方法有什么问题?
$login_user_name = $_POST['login-user-name'];
//salt is declared earlier
$login_user_pword = super_encrypt($_POST['login-user-pword'], $login_salt);
$login_veri_query = mysql_query("SELECT * FROM zebra_users WHERE username='".$login_user_name."'");
$login_veri_numrows = mysql_num_rows($login_veri_query);
if ($login_veri_numrows != 0) {
while ($value = mysql_fetch_array($login_veri_query)) {
if ($value['password'] == $login_user_pword) {
$login_error .= '<p class="success">Logged in Successfully!</p><br/>';
$main_error .= '<p class="success">Logged in Successfully!</p><br/>';
$login_good = true;
$login_error .= '<script type="text/javascript"> <!-- window.location = "main.php" //--> </script>';
} else {
$login_error .= '<p class="warning">Incorrect password, try again.</p><br>';
}
}
}
}
,如果有与“PWORD”用户'和密码的用户名的用户,并且这些凭据被输入到表格中,“验证”方法会声称密码不正确。
这里有什么问题?
而且,我知道这是不是一个真正的好登录的风格,但我用这个作为一个占位符,直到我使用cookies,这我不
简化并隔离问题...不要发布您的代码文件。 – jeremy 2013-02-28 03:20:06
'super_encrypt'?真?就像我们其他人一样使用SHA-1和AES。 – Patashu 2013-02-28 03:20:35
mysql_ *函数已被弃用且存在安全风险。替换为PDO(http://php.net/PDO) – Cfreak 2013-02-28 03:20:36