PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как мога да предотвратя SQL инжектиране с произволен JSONB низ на заявка, предоставен от външен клиент?

Можете да позволите на потребителите да посочат път в JSON документа и след това да параметризирате този път в извикване на функция като json_extract_path_text . Тоест клаузата WHERE ще изглежда така:

WHERE json_extract_path_text(data, $1) = $2

Аргументът на пътя е просто низ, лесно параметризиран, който описва ключовете за преминаване надолу до дадената стойност, напр. 'foo.bars[0].name' . Дясната страна на клаузата ще бъде параметризирана по същите правила, които използвате за филтриране на фиксирани колони.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Премахнете една, неуникална стойност от масив

  2. SQL дублирани редове с множество леви съединения

  3. Как да десериализирате BigDecimal стойност, получена от kafka брокер чрез debezium CDC механизъм?

  4. Грешка с auto_increment при свързване към Postgres чрез psql и puTTY

  5. node-postgres $1 IS NULL грешка