PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

मैं बाहरी क्लाइंट द्वारा प्रदान की गई मनमानी JSONB क्वेरी स्ट्रिंग के साथ SQL इंजेक्शन को कैसे रोक सकता हूं?

आप उपयोगकर्ताओं को 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. PostgreSQL array_agg क्रम

  2. PostgreSQL में क्वेरी परिणामों को कैसे फ़िल्टर करें

  3. SQLAlchemy के PostgreSQL JSONB कार्यान्वयन के लिए एक कस्टम JSON एन्कोडर का उपयोग करना

  4. इनपुट फ़ाइल एक टेक्स्ट प्रारूप डंप प्रतीत होती है। कृपया psql . का उपयोग करें

  5. पोस्टग्रेस्क्ल का उपयोग करके ग्रहण में विराम बिंदु