Robię skrypt logowania, i mam szybkie pytanko. Otóż czy takie combo zabezpieczeń jakie napisałem jest w ogóle dobre? W sense czy wszystko poprawnie będzie 'zabezpieczać' ? Czy wystarczy jakbym samo bindowanie zostawił?
Z góry dziękuję!
if(!empty($_POST['nickname']) && !empty($_POST['password'])) {
$nickname = htmlspecialchars(trim($_POST['nickname']));
$nickname = mysql_real_escape_string(htmlentities($nickname, ENT_QUOTES, "UTF-8"));
$password = htmlspecialchars(trim($_POST['password']));
$password = mysql_real_escape_string(htmlentities($password, ENT_QUOTES, "UTF-8"));
$sqlSTM = $pdo->prepare("SELECT * FROM users WHERE nickname = :nickname");
$sqlSTM->bindParam(':nickname', $nickname, PDO::PARAM_STR);
$sqlSTM->execute();
$results = $sqlSTM->fetch(PDO::FETCH_ASSOC);
if( count($results) > 0 ) {
if( $results['nickname'] == $nickname && password_verify($password, $results['password']) ) {
die('Zalogowales sie!');
} else {
die('Podales zle dane logowania!');
}
}
}