Ich habe eine einfache Kleinanzeigen-Website ...Sollte ich PDO verwenden, um meine Sql-Abfragen zu bereinigen oder ist "mysql_real_escape_string" genug?
Kleinanzeigen werden in MySql-Tabellen eingefügt und das einzige, was ich benutze, um Benutzereingaben zu bereinigen ist mysql_real_escape_string
.
Ist das genug?
Das PDO ist der beste Weg, offcourse, aber was ist eigentlich der Unterschied zwischen nur mysql_real_escape_string
und PDO verwenden, können in dieser Abfrage sagen:
SELECT * FROM table_name WHERE table_name.classified = '$classified';
ODER
INSERT INTO table_name (input1, input2) VALUES ('$input1', $input2);
Dank
Flucht ist zu leicht vergessen. Parametrisierte Abfragen sind eine inhärent sicherere * Methodik *. (Aber übrigens, Ihre Beispiele scheinen keinen Ansatz zu verwenden). Ein weiterer Vorteil von PDO sind mögliche Geschwindigkeitsgewinne. Es ist derzeit theoretisch, weil der PDO-MySQL-Treiber immer noch auf das Entkommen statt auf gebundene Parameter zurückgreift. – mario
Wenn Sie die Datenbankabstraktion nicht wirklich benötigen, sollten Sie weder PDO noch MySql, sondern MySqli verwenden. Es unterstützt sowohl [binding] (http://de2.php.net/manual/en/mysqli-stmt.bind-param.php) und [escape] (http://de2.php.net/manual) /mysqli.real-escape-string.php) – Gordon