Beim Übergang von der MySQL-Bibliothek zu PDO müssen Sie möglicherweise Zeichenfolgen mit Escapezeichen versehen, wie Sie es früher mit real_escape_string getan haben. Mit PDO können Sie einen sichereren und effizienteren Ansatz nutzen.
PDO stellt die Prepare()-Methode bereit, mit der Sie parametrisierte Abfragen ausführen können. Die Parametrisierung trägt dazu bei, SQL-Injection-Angriffe zu verhindern, indem Benutzereingaben vor der Ausführung der SQL-Anweisung bereinigt werden. Außerdem wird die Leistung optimiert, indem der Abfrageplan zwischengespeichert wird, sodass keine manuelle Anführungszeichenfolge erforderlich ist.
Um einfache Anführungszeichen mithilfe von PDO::prepare() zu umgehen, führen Sie die folgenden Schritte aus:
Bereiten Sie die vor Anweisung:
$stmt = $pdo->prepare("INSERT INTO table (column) VALUES (:value)");
Binden Sie den Parameter:
$stmt->bindParam(':value', $escapedValue);
Führen Sie die aus Aussage:
$stmt->execute();
In diesem Beispiel: :value ist der Platzhalter für den Escape-Wert, den Sie mit bindParam() zuweisen können. Der PDO-Treiber kümmert sich automatisch um das Escapen der einfachen Anführungszeichen für Sie.
Durch die Verwendung von PDO::prepare() für die Parameterbindung können Sie sowohl Sicherheits- als auch Leistungsvorteile erzielen und gleichzeitig die Notwendigkeit eliminieren für manuelles String-Escapen. Dies ist eine empfohlene Vorgehensweise in PDO-Anwendungen, um SQL-Injection zu verhindern und Datenbankinteraktionen zu optimieren.
Das obige ist der detaillierte Inhalt vonWie kann ich Strings in PDO sicher maskieren, ohne „mysql_real_escape_string' zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!