2 Stimmen

Sicherheit Vorteile von PHP PDO gegenüber mysql_*()

Gibt es irgendwelche Sicherheitsvorteile bei der Verwendung von PHP PDO anstelle von mysql_connect() usw.?

3voto

chx Punkte 10935

Es ist nicht einmal notwendig, bindParam zu binden, es reicht, wenn Sie

$stmt = $pdoConnection->prepare('SELECT foo FROM bar WHERE baz = :baz');
$stmt->execute(array(':baz' => 1));
foreach ($stmt as $row) {
}

So einfach.

3voto

netcoder Punkte 64375

Nein. Es gibt keinen Sicherheitsvorteil von PDO gegenüber der MySQL-Erweiterung (außer dem, was Murphys Gesetz uns gelehrt hat, das für beide gilt). Beide machen Eingaben sicher, indem sie die gleichen Zeichen escapen.

Die PDO hat jedoch noch weitere Vorteile:

  • Unterstützung für vorbereitete Erklärungen;
  • Objektorientierte Schnittstelle;
  • Abstraktion des Datenzugriffs; und
  • Erzeugt saubereren Code, da Sie mehrere Werte auf einmal ausblenden können

Diese werden im Allgemeinen als die wichtigsten angesehen.

2voto

alex Punkte 457905

Ja, wenn Sie Folgendes verwenden bindParam() Methode anstelle der String-Verkettung mit mysql_real_escape_string() .

Es ist viel einfacher, sich daran zu erinnern, dass bindParam() als daran zu denken, jeden einzelnen Wert selbst mit mysql_* .

Außerdem ist die Arbeit mit PDO einfach viel angenehmer.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X