我遇到过两种方法的使用,并且想知道哪一种方法更安全或者两种方法是否相同。
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
mysqli_query($GLOBALS["SQL1"], 'SELECT email, password FROM users WHERE email =' . $email);
$stmt = $pdo->prepare("SELECT email, password FROM users WHERE email = ?");
$stmt->execute([$_POST['email']]);
$user = $stmt->fetch();
PDO方法只有在使用旧的PHP / MySQL版本或易受攻击的字符集(例如gbk)时才非常安全。 More info
filter_input()和mysqli_query()方法更易于编写并完成工作。
filter_input()和msqli_query()是否像PDO一样安全?如果可以,为什么要使用PDO?