sql >> Database >  >> RDS >> Mysql

Preventie van PHP SQL-injectie met stringbewerkingen

Natuurlijk kun je je beschermen tegen injectie met mysql_real_escape_string($postID) , zolang je het niet erg vindt om elke keer dat je de functie aanroept een vraag te stellen.

PDO en MySQLi bieden veel meer dan alleen injectiebescherming. Ze maken voorbereide verklaringen mogelijk die kunnen beschermen tegen injectie zonder meerdere oproepen naar de db. Dit betekent snellere algehele prestaties. Stel je voor dat je een gebruikersrecord met 30 kolommen in een tabel probeert in te voegen... dat is veel mysql_real_escape_string() oproepen.

Voorbereide instructies sturen alle gegevens in één keer samen met de query en ontsnappen deze in één verzoek op de server. Mysql DB's ondersteunen voorbereide verklaringen, de oude php mysql_-bibliotheken ondersteunen ze niet.

Tijd om over te stappen op mysqli of bij voorkeur PDO - je zult nooit meer achterom kijken.



  1. Maak een "in plaats van" trigger in SQL Server

  2. Top 5 PostgreSQL-hulpprogramma's voor het bewaken van query's

  3. Configuratie voor transactiereplicatie van SQL Server

  4. PostgreSQL 11:Wat is er nieuw?