Einzelnen Beitrag anzeigen

Rolf Frei

Registriert seit: 19. Jun 2006
647 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: SQL Injection verhindern?

  Alt 22. Apr 2022, 14:52
Danke für die Hinweise. Bitte nicht streiten.

@haentschman, eine Nachfrage zum Syntax. Warum wird bei einer Suche ein : vor den Suchbegriff gestellt (:Bla)?

Eine weitere Frage bezüglich SQL injection: würde es ausreichen, Semikolons aus einem Suchbegriff zu entfernen?
Aus diesem Code:
Query.SQL.Text := 'select * from Personen where Name = '+QuotedStr(Edit1.Text); Machst du das:
Delphi-Quellcode:
Query.SQL.Text := 'select * from Personen where Name = :NAME';
Query.ParamByName('NAME').AsString := Edit1.Text;
Dadurch ist dein Code geschützt vor Injections. Also nie einen SQL String direkt mit den Eingaben eines Users zusammenbauen! Was da im Edit.Text drin steht ist dann vollkommen egal, da dieses nicht mehr Bestandteil des SQL ist und somit auch nicht ausgeführt wird.

Geändert von Rolf Frei (22. Apr 2022 um 14:59 Uhr)
  Mit Zitat antworten Zitat