sql >> Databasteknik >  >> RDS >> Mysql

PHP SQL-injektionsförebyggande med strängoperationer

Visst, du kan skydda mot injektion med mysql_real_escape_string($postID) , så länge du inte har något emot en fråga varje gång du anropar funktionen.

PDO och MySQLi ger mycket mer än bara injektionsskydd. De tillåter förberedda uttalanden som kan skydda mot injektion utan flera anrop till db. Detta innebär snabbare övergripande prestanda. Föreställ dig att du försöker infoga en användarpost med 30 kolumner i en tabell... det är mycket mysql_real_escape_string() samtal.

Förberedda uttalanden skickar all data på en gång tillsammans med frågan och escape den på servern i en begäran. Mysql DB:s stöd förberedde uttalanden, de gamla php mysql_-biblioteken stöder dem inte.

Dags att gå vidare till mysqli eller helst PDO – du kommer aldrig att se tillbaka.



  1. MySQL visa prestanda

  2. Fullt hanterad PostgreSQL-värd på AWS och Azure lanseras i tid för äldre migrering

  3. Ändra prioritet för ett konto inom en databaspostprofil (SSMS)

  4. Glassfish skapar inte JDBC Resources