2010-10-17 11 views
5

एक स्क्लाइट डीबी के साथ अजगर का उपयोग करना - डेटा बाहर निकलने और डेटा को बाहर खींचने के लिए उपयोग की जाने वाली विधि क्या है?पायथन और स्क्लाइट - बचने इनपुट

pysqlite2

गूगल परस्पर विरोधी सुझाव है का उपयोग करना।

उत्तर

20

तर्क पारित करने के लिए दूसरे पैरामीटर args का उपयोग करें; खुद से बचने मत करो। न केवल यह आसान है, यह एसक्यूएल इंजेक्शन हमलों को रोकने में भी मदद करता है।

cursor.execute(sql,args) 
उदाहरण के लिए

,

cursor.execute('INSERT INTO foo VALUES (?, ?)', ("It's okay", "No escaping necessary") 
+0

धन्यवाद, मैं अजगर रास्ते के बारे में सुनिश्चित नहीं था, मैं एसक्यूएल हमलों से अच्छी तरह परिचित जिसके कारण मैं अजगर में सबसे अच्छा तरीका खोजने की कोशिश कर रहा हूं। धन्यवाद, देखेंगे कि इस पर कोई और टिप्पणी है या नहीं। – Wizzard

+0

@Wizzard, unutbu सही है, यह काम करता है और आपको बहुत सी सिरदर्द बचाएगा। आपके प्रश्न के दूसरे भाग के लिए: pysqlite2 आपको सही प्रारूप में डीबी से ऑब्जेक्ट्स लौटाएगा, ताकि आप सीधे उन्हें int, float, string, datetime, ... के रूप में उपयोग कर सकें। – eumiro

संबंधित मुद्दे