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

SQL इंजेक्शन के प्रति संवेदनशील न होने के लिए मैं अपनी क्वेरी में अपने पायथन एफ-स्ट्रिंग को कैसे ठीक कर सकता हूं?

यहां बताया गया है कि डेटा खींचते समय पाइथॉन लूप का उपयोग करके डायनेमिक क्वेरी को कैसे सैनिटाइज किया जाए!

कृपया ध्यान दें कि मेरा कार्य get_dict_resultset इसका उपयोग dB से कनेक्ट करने, डेटा खींचने और इसे एक पायथन डिक्शनरी में स्टोर करने के लिए किया जाता है।

def get_dict_resultset(query, param):
    cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
    cur.execute(query, param)
    ans =cur.fetchall()
    dict_result = []
    for row in ans:
        dict_result.append(dict(row))
    return dict_result

मैंने param जोड़ा फ़ंक्शन में एक तर्क के रूप में और cur.execute

for stock in symbols:
    stock_info[stock] = get_dict_resultset("SELECT 
                                            date, close          
                                            FROM security_price 
                                            WHERE 
                                            security_price.id=%s;", [stock])

इस तरह मैंने अपने उपयोगकर्ता इनपुट को साफ करने और अपने डीबी को सुरक्षित रखने के लिए अपने कोड को सुरक्षित रूप से संपादित किया




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Azure DevOps में EFCore माइग्रेशन के माध्यम से postgreSQL DB को अपडेट करना

  2. क्या INSERT [...] संघर्ष पर विदेशी कुंजी उल्लंघनों के लिए उपयोग किया जा सकता है?

  3. डेटाबेस में विशिष्टता सत्यापन जब सत्यापन की किसी अन्य तालिका पर एक शर्त होती है

  4. पीएल/पीजीएसक्यूएल फ़ंक्शन में इंट लिटरल बनाम इंट पैरामीटर के बीच अंतर को समझना

  5. एक कॉलम को लोअरकेस या अपरकेस में स्वचालित रूप से सम्मिलित करने के लिए पोस्टग्रेज नियम या ट्रिगर बनाएं