Wie sicher sind PDO-vorbereitete Aussagen [php]


Answers

Es ist vor SQL-Injection sicher.

Ein paar Dinge, vor denen es NICHT sicher ist:

  • Denial of Service (verursacht übermäßige Anzahl von Zeilen erstellt werden)
  • Cross-Site-Scripting-Angriffe (wenn der Titel jemals an einen anderen Benutzer zurückgegeben wird)

Sicherheit ist mehr als nur das Verhindern von SQL-Injection.

Question

Ich habe vor nicht allzu langer Zeit damit begonnen, mit PDO-Prepared-Statements zu arbeiten, und, wie ich es verstehe, erledigt es all das Escaping / die Sicherheit für Sie.

Beispiel: $ _POST ['title'] ist ein Formularfeld.

$title = $_POST['title'];
$query = "insert into blog(userID, title) values (?, ?)"
$st = $sql->prepare($query);
$st->bindParam(1, $_SESSION['user']['userID'], PDO::PARAM_INT);
$st->bindParam(2, $title);
$st->execute();

Ist das wirklich sicher? Muss ich noch etwas tun? was muss ich noch berücksichtigen?

Vielen Dank.