4 Stimmen

Wann sollte man mysql_real_escape_string benutzen?

Wann sollte ich mysql_real_escape_string verwenden?

Ist das nur der Fall, wenn ich Zeilen in eine Datenbank einfüge? Oder nur, wenn ich Benutzereingaben habe?

Gracias

2voto

Cody Punkte 3634

Sie sollten mysql_real_escape_string() immer dann verwenden, wenn Sie eine Abfrage erstellen, die gegen die Datenbank ausgeführt werden soll. Jede Benutzereingabe, die zur Erstellung einer Datenbankabfrage verwendet wird, sollte durch diese Funktion laufen. Dadurch werden Sql-Injection-Angriffe verhindert.

Die Benutzereingaben sind in diesem Zusammenhang Ihr Hauptanliegen.

2voto

Mark Byers Punkte 761508

Sie sollten mysql_real_escape_string verwenden, wenn Sie den Wert einer Zeichenkette in eine SQL-Anweisung einfügen und die MySQL-API verwenden.

$sql = "SELECT * FROM student WHERE foo = '" . $foo . "'";

Sollte sein:

$sql = "SELECT * FROM student WHERE foo = '" .
        mysql_real_escape_string($foo) . "'";

Sie sollten jedoch auch die Verwendung von PDO mit vorbereiteten Anweisungen und Bindungsparametern anstelle von mysql_real_escape_string . Dies verringert das Risiko von Fehlern.

0voto

konsolenfreddy Punkte 9444

Immer, abgesehen von Ganzzahlen, dort verwenden Sie intval()

0voto

Md Shahid Punkte 1

Es werden einfach alle Sonderzeichen gefiltert, die in den Formulardaten enthalten sind, um eine SQL-Injektion zu verhindern (SQL-Injektion ist ein Hacker-Tool zum Hacken von Websites durch einige Abfragen mit Formulardaten)

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