Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP SQL Injection Prevention mit String-Operationen

Sicher, Sie können sich mit mysql_real_escape_string($postID) vor Injection schützen , solange es Ihnen nichts ausmacht, bei jedem Aufruf der Funktion eine Abfrage zu stellen.

PDO und MySQLi bieten viel mehr als nur Schutz vor Injektionen. Sie ermöglichen vorbereitete Anweisungen, die ohne mehrfache Aufrufe der db vor Injektionen schützen können. Dies bedeutet eine schnellere Gesamtleistung. Stellen Sie sich vor, Sie versuchen, einen Benutzerdatensatz mit 30 Spalten in eine Tabelle einzufügen ... das ist eine Menge mysql_real_escape_string() Anrufe.

Vorbereitete Anweisungen senden alle Daten auf einmal zusammen mit der Abfrage und maskieren sie auf dem Server in einer Anfrage. Die Mysql-DB unterstützt vorbereitete Anweisungen, die alten PHP-mysql_-Bibliotheken unterstützen sie nicht.

Zeit, zu mysqli oder besser zu PDO überzugehen – Sie werden nie zurückblicken.