filter_input()&& mysqli_query($ GLOBALS [“ SQL1”],$ query)VS PDO |哪一个更好?

时间:2019-06-13 20:01:51

标签: php mysql sql security

我遇到过两种方法的使用,并且想知道哪一种方法更安全或者两种方法是否相同。

$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

PDO方法只有在使用旧的PHP / MySQL版本或易受攻击的字符集(例如gbk)时才非常安全。 More info


filter_input()和mysqli_query()

filter_input()和mysqli_query()方法更易于编写并完成工作。


TL; DR:

filter_input()和msqli_query()是否像PDO一样安全?如果可以,为什么要使用PDO?

0 个答案:

没有答案
相关问题