PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Apakah pg_prepare() menyiapkan pernyataan (bukan PDO) mencegah SQL-Injection?

Pernyataan yang disiapkan aman dari injeksi SQL karena tidak ada yang dapat mengubah rencana kueri setelah itu siap. Namun, jika pernyataan Anda telah disusupi, Anda masih mengalami injeksi SQL:

<?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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengelola Ketersediaan Tinggi di PostgreSQL – Bagian III:Patroni

  2. Konversi detik ke yyyy-mm-dd jj:mm:dd PostgreSQL

  3. ResultSet besar pada kueri postgresql

  4. Nilai offset zona waktu server

  5. SEPERTI permintaan pada elemen array jsonb datar