SQL-Injection-Angriffe mit parametrisierten Abfragen in MySQL vermeiden
In MySQL ist es wichtig, beim Einfügen von Daten parametrisierte Abfragen zu verwenden, um Sicherheitslücken zu vermeiden. Die String-Interpolation, wie im bereitgestellten Code-Snippet veranschaulicht, ist anfällig für SQL-Injection-Angriffe, da sie Eingabeparameter nicht ausreichend maskiert.
Die korrekte Syntax für parametrisierte Abfragen in MySQL mithilfe des MySQLdb-Moduls lautet wie folgt:
cursor.execute (""" INSERT INTO Songs (SongName, SongArtist, SongAlbum, SongGenre, SongLength, SongLocation) VALUES (%s, %s, %s, %s, %s, %s) """, (var1, var2, var3, var4, var5, var6))
In dieser Syntax werden Platzhalter (%s) anstelle von Variablenwerten verwendet. Das Tupel (var1, var2, ..., var6) enthält die tatsächlich einzufügenden Werte.
Durch die Verwendung parametrisierter Abfragen stellen Sie sicher, dass alle Eingabeparameter ordnungsgemäß maskiert werden, und verhindern so, dass böswillige Akteure schädlichen SQL-Code einschleusen in Ihre Datenbank eindringen und potenzielle Schwachstellen ausnutzen.
Das obige ist der detaillierte Inhalt vonWie können parametrisierte Abfragen die SQL-Injection in MySQL verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!