Hiho
Ich bin gerade dabei eine SQL Datenbank zu erneuern/optimieren. Dabei hatte ich auch das Thema SQL-Injections im Auge.
Ich denke das habe ich auch soweit verstanden. Statt des eigentlichen Wertes wird im SQL Code erstmal ein Parameter gesetzt, welcher dann unter
Params.ParamByName('meinPara').AsString:=Wert gesetzt wird.
Da ich für manche Aufgaben zwingen das TSQLScript verwenden muss, frage ich mich nun wie das dort funktioniert.
Die Eigenschaft Params gibt es dort nicht, oder heist das nur anders.
Kann man sich somit mit dem TSQLScript nicht vor SQL-Injections schützen?
hubble
TSQLScript hat keine "Params" Eigenschaft
- af0815
- Lazarusforum e. V.
- Beiträge: 6766
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: TSQLScript hat keine "Params" Eigenschaft
Die Frage ist für was du Tsqlscript wirklich verwendest.
Ersetzen kannst du es ja durch eine Folge von Queries die hintereinander ausgeführt werden. TSQLScript unterteilf auch nur das Script in Teile und führt diese aus. Ich setzte das TSQLScript nur bei Verwaltungsaufgaben ein, und Bulkcopies. Also nur dort wo der Benutzer per se nichts damit zu tun hat.
Andreas
Ersetzen kannst du es ja durch eine Folge von Queries die hintereinander ausgeführt werden. TSQLScript unterteilf auch nur das Script in Teile und führt diese aus. Ich setzte das TSQLScript nur bei Verwaltungsaufgaben ein, und Bulkcopies. Also nur dort wo der Benutzer per se nichts damit zu tun hat.
Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: TSQLScript hat keine "Params" Eigenschaft
Wie meinst du das? Also wirklich verwenden tut man es um mehrere, von einander abhängige SQL statements zu verarbeiten.af0815 hat geschrieben:Die Frage ist für was du Tsqlscript wirklich verwendest.
Mir ist schon klar das ein einfacher Befehl auch mit dem TSQLQuery gemacht werden kann.
Das hatte ich als aller erstes maL so programmiert, weil ich ja auch keine Ahnung hatte, das Ergebnis war/ist eine Katastrophe.af0815 hat geschrieben:Ersetzen kannst du es ja durch eine Folge von Queries die hintereinander ausgeführt werden.
In einem anderen Programm wo es schonmal vorkommt das 1000 Querys verarbeitet werden müssten, und das ganze dauert....aber mit dem TSQLScript ist das in 0,2sekunden erledigt.
Es kommt sicher immer auf die Umgebung an. Also muss ich schauen das ich das TSQLQuery verwende um SQL-Injections abzufangen und TSQLScript für "interne nicht User zugängliche" Vorgänge.af0815 hat geschrieben: TSQLScript unterteilf auch nur das Script in Teile und führt diese aus. Ich setzte das TSQLScript nur bei Verwaltungsaufgaben ein, und Bulkcopies. Also nur dort wo der Benutzer per se nichts damit zu tun hat.
Andreas