„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann PDO Ihre MySQL-Anwendungen vor SQL-Injection schützen?

Wie kann PDO Ihre MySQL-Anwendungen vor SQL-Injection schützen?

Veröffentlicht am 20.11.2024
Durchsuche:886

How Can PDO Safeguard Your MySQL Applications from SQL Injection?

MySQL Prepared Statements: Sorgen Sie für Datensicherheit mit PDO

Sind Sie besorgt über Escape-Funktionen und SQL-Injection-Schwachstellen in Ihren MySQL-Anwendungen? Die MySQL-Funktion für vorbereitete Anweisungen ist möglicherweise nicht verfügbar, aber das bedeutet nicht, dass Sie Kompromisse bei der Sicherheit eingehen müssen.

PDO: Eine sichere Alternative

PHP-Datenobjekte ( PDO) ist eine leistungsstarke Bibliothek, die eine konsistente Schnittstelle für die Interaktion mit Datenbanken bietet. Mit PDO können Sie eine Verbindung zu Ihrer MySQL-Datenbank herstellen und alle Datenbankeingaben als Textzeichenfolgen behandeln, sodass kein manuelles Escape erforderlich ist.

Herstellen einer Verbindung zu MySQL mit PDO

An Beginnen Sie mit der Verwendung von PDO und erstellen Sie ein Datenbankobjekt wie folgt:

$db = new PDO("mysql:host=[hostname];dbname=[database]", '[username]', '[password]');

Setzen Sie die Zeichenkodierung auf UTF-8:

$db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES utf8");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->exec('SET NAMES utf8');

Vorbereitete Anweisungen ausführen

Nachdem das Datenbankobjekt eingerichtet ist, können Sie jetzt vorbereitete Anweisungen ausführen:

  • Abfrage auswählen:
$id = 1;
$q = $db->prepare('SELECT * FROM Table WHERE id = ?');
$q->execute(array($id));
  • Abfrage aktualisieren:
$q = $db->prepare('UPDATE Table SET Column_1 = ?, Column_2 = ? WHERE id = ?');
$q->execute(array('Value for Column_1', 'Value for Column_2', $id));
  • Wildcard-Suche:
$search = 'John';
$q = $db->prepare('SELECT * FROM Table WHERE Column_1 LIKE ?');
$q->execute(array('%'.$search.'%'));

Fazit

Durch die Verwendung von PDO und vorbereiteten Anweisungen können Sie Verbesserungen erzielen die Sicherheit Ihrer MySQL-Anwendungen durch die Minderung von SQL-Injection-Risiken. Mit seiner vereinfachten Benutzeroberfläche und den robusten Sicherheitsfunktionen ist PDO ein unverzichtbares Werkzeug zum Schutz Ihrer Datenbank vor böswilligen Angriffen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3