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

Bagaimana saya bisa mencegah injeksi SQL dengan string kueri JSONB sewenang-wenang yang disediakan oleh klien eksternal?

Anda dapat mengizinkan pengguna untuk menentukan jalur dalam dokumen JSON, dan kemudian membuat parameter jalur itu dalam panggilan ke fungsi seperti json_extract_path_text . Artinya, klausa WHERE akan terlihat seperti:

WHERE json_extract_path_text(data, $1) = $2

Argumen path hanyalah sebuah string, mudah diparameterisasi, yang menjelaskan kunci untuk melintasi ke nilai yang diberikan, mis. 'foo.bars[0].name' . Sisi kanan klausa akan diparameterisasi di sepanjang aturan yang sama seperti yang Anda gunakan untuk pemfilteran kolom tetap.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Flask-SQLAlchemy db.session.query(Model) vs Model.query

  2. Permintaan Rails (postgres) dengan array jsonb

  3. Bagaimana cara melakukan transaksi database dengan psycopg2/python db api?

  4. Cara mengonversi string tanggal ke stempel waktu tanpa mengetahui format tanggal

  5. Tulis Postgres Dapatkan atau Buat Kueri SQL