sql >> Database >  >> RDS >> PostgreSQL

Verhindert pg_prepare() voorbereide instructie (niet PDO) SQL-injectie?

Een voorbereide instructie is veilig voor SQL-injectie omdat niemand het queryplan na . kan wijzigen het is voorbereid. Maar als je statement al gecompromitteerd is, heb je nog steeds last van SQL-injectie:

<?php 
// how NOT to construct your SQL....
$query = 'SELECT * FROM user WHERE login=$1 and password=md5($2) LIMIT '. $_POST['limit']; -- injection!
$result = pg_prepare($dbconn, "", $query);
$result = pg_execute($dbconn, "", array($_POST["user"], $_POST["password"]));
if (pg_num_rows($result) < 1) {
  die ("failure");
}
?>


  1. Hoe maak je verbinding met meerdere MySQL-databases op één webpagina?

  2. SQLite-zelfstudie:alles wat u moet weten

  3. PostgreSQL - dynamische waarde als tabelnaam

  4. json_encode en highcharts