Auf jeden Fall ein wichtiges und auch kein triviales Thema.
Injection bedeutet ja, dass irgendetwas in Deinen
SQL-String eingefügt wird, was dann als zusätzlicher Befehl missbraucht wird.
Als Beispiel hast Du ein EditFeld und die Eingabe darin soll als Suchstring interpretiert werden, gedacht ist dann sowas wie:
Code:
'select * from Personen where Name = '+QuotedStr(Edit1.text)
Und wenn im Edit1 ein 'Hansen steht, dann würde daraus ein:
Code:
'select * from Personen where Name = 'Hansen';
So weit so gut, aber kommt über das Editfeld jetzt aber noch ein Hochkomma und ein Semikolon rein, dann könnte das dazu führen, dass ein zusätzlicher Befehl ausgeführt wird:
Code:
'select * from Personen where Name = 'Hansen'; DROP TABLE blablabla;'';
Hier würde jetzt also der zusätzliche Befehl DROP TABLE ... ausgeführt werden können.
Das war jetzt, sehr simpel, ein mögliches Szenario zusammengetippt.