sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan kan jeg forhindre SQL-injektion med vilkårlig JSONB-forespørgselsstreng leveret af en ekstern klient?

Du kan give brugerne tilladelse til at angive en sti i JSON-dokumentet og derefter parametrere stien i et kald til en funktion som json_extract_path_text . Det vil sige, at WHERE-sætningen ville se sådan ud:

WHERE json_extract_path_text(data, $1) = $2

Sti-argumentet er blot en streng, let parametriseret, som beskriver nøglerne til at gå ned til den givne værdi, f.eks. 'foo.bars[0].name' . Den højre side af klausulen ville blive parametriseret efter de samme regler, som du bruger til fast kolonnefiltrering.




  1. Løsning af problemet med SQLinjection

  2. Problemer med rails server

  3. Sådan får du sidste uges data i MySQL

  4. Under import af mysqldump-fil ERROR 1064 (42000) nær ' ■/ ' på linje 1