sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur kan jag förhindra SQL-injektion med godtycklig JSONB-frågesträng som tillhandahålls av en extern klient?

Du kan tillåta användarna att ange en sökväg i JSON-dokumentet och sedan parametrera den sökvägen i ett anrop till en funktion som json_extract_path_text . Det vill säga, WHERE-satsen skulle se ut så här:

WHERE json_extract_path_text(data, $1) = $2

Sökvägsargumentet är bara en sträng, lätt att parametriseras, som beskriver nycklarna att gå ner till det givna värdet, t.ex. 'foo.bars[0].name' . Den högra sidan av satsen skulle parametriseras enligt samma regler som du använder för fast kolumnfiltrering.




  1. SQL:Union av polygoner

  2. Exekvera en lagrad procedur med Windows Task Scheduler

  3. Hur kan jag summera kolumner över flera tabeller i MySQL?

  4. Felrapport - ORA-25155:kolumn som används i NATURAL join kan inte ha kvalificerare 25155. 00000 - kolumn som används i NATURAL join kan inte ha kvalificerare