所以基本上,几天前我的一个网站客户来找我,告诉我他们的数据库和网站已被黑客入侵(黑客以某种方式从数据库中窃取了 md5 哈希密码),登录管理面板并更改了数据。好吧,是的,我在 1 年半前创建了该页面,所以当时我不知道有什么更好的方法hash
或盐。无论如何,他们如何破解数据库?基本上,是否有任何保护措施,或者他们是否使用任何类型的 JavaScript 代码,我不应该允许加载,或者还有什么?
希望你能帮助我解决这个问题,这样我就可以创建更多受保护的网站。
这是该站点以前的登录代码。根据请求添加 -
public function loginUser($username, $password) {
if(isset($_POST['login'])) {
if($username != '' && $password != '') {
$sql = "SELECT * FROM `users` WHERE `username` = '".$username."' AND `password` = '".$password."'";
$q = mysql_query($sql);
$row = mysql_fetch_array($q);
if(mysql_num_rows($q) > 0) {
if($row['level'] == 'admin') {
$_SESSION['user_level'] = 'admin';
}
else {
$_SESSION['user_level'] = 'normal';
}
$_SESSION['logged_in'] = 1;
header('location: account.php');
}
else {
header('location: error2.php');
// Return to page and show error
}
}
else {
header('location: error1.php');
// Show error, when people have empty fields entered
}
}