Gjennom " SQLite " -modulen , kan brukere av Python koble til databaser , sende database spørringer , og samle resultatene fra disse søkene . Dette gir programmerere en effektiv måte å integrere databasen samtaler i sine Python -skript. Men å lese rådata fra brukere i Python presentere et sikkerhetshull . Angripere kan sette anførselstegn på strategiske steder for å injisere SQL-kommandoer inn i databasen og utføre uønskede kommandoer. Ved hjelp av parameter substitusjon metode for sqlite3 er " execute" metoden, vil sqlite3 modulen strippe usikre sitat og gjøre innspill sikker for bruk. Du trenger
Python tolk
Vis flere instruksjoner
en
Import sqlite3 inn skriptet som følger : en
# /usr /bin /! python
import sqlite3
2
Koble til en database fil med " connect "-metoden : en
conn = sqlite3.connect (' /home /db /data ')
3
Lag en streng med noen usikre sitater i det : en
inngang = "dette" sitatet "trenger renset'
4
Utfør et søk i databasen ved hjelp av " execute" og parameter substitusjon :
curs = conn.cursor ( ) curs.execute (' select * fra rad der symbol = ? ' , inngang)