AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Statement speichern

Ein Thema von Graw · begonnen am 14. Aug 2023 · letzter Beitrag vom 15. Aug 2023
Antwort Antwort
Graw

Registriert seit: 26. Apr 2017
77 Beiträge
 
Delphi 11 Alexandria
 
#1

SQL Statement speichern

  Alt 14. Aug 2023, 08:22
Hallo,

bislang habe ich SQL Statements immer in der Registry gespeichert.
Nun würde ich sie gerne in einer .ini ablegen.
Allerdings funktioniert das einlesen sehr schlecht.
Entweder es fehlen Teile des Statements oder die Formatierung ist komplett falsch.

Wie speichert ihr SQL Statements? Es gibt sicherlich besserer Methoden.

Danke
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#2

AW: SQL Statement speichern

  Alt 14. Aug 2023, 09:01
Moin...

Mein Favorit ist: Speicherung der SQL in Ressourcen...

Tool dazu: https://www.delphipraxis.net/190316-...e-creator.html -> DP Lizent per PN (Mail)
  Mit Zitat antworten Zitat
Graw

Registriert seit: 26. Apr 2017
77 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: SQL Statement speichern

  Alt 14. Aug 2023, 09:09
Nutze nun einfach Memo.Lines.LoadFromFile bzw. Memo.Lines.SaveToFile.
Ich denke damit klappt es gut.

Trotzdem Vielen Dank.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#4

AW: SQL Statement speichern

  Alt 14. Aug 2023, 09:23
Zitat:
Ich denke damit klappt es gut.
...glaube ich nicht. Damit ist SQL Injection Tor und Tür geöffnet! https://de.wikipedia.org/wiki/SQL-Injection
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#5

AW: SQL Statement speichern

  Alt 14. Aug 2023, 10:20
SQL-Injection hat lediglich was mit dem Aufbau des SQL zu tun und weniger wie und wo es gespeichert wird. Ein schlampig geschriebenes SQL wird auch nicht dadurch sicherer dass man es als Ressource in der Exe speichert.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.368 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: SQL Statement speichern

  Alt 14. Aug 2023, 10:37
SQL-Injection hat lediglich was mit dem Aufbau des SQL zu tun und weniger wie und wo es gespeichert wird. Ein schlampig geschriebenes SQL wird auch nicht dadurch sicherer dass man es als Ressource in der Exe speichert.
Das stimmt natürlich, aber ein SQL-Statement als Klartext in einer Datei zu speichern, ist an Risiko kaum zu übertreffen. Fehlt eigentlich nur noch eine zweite Datei mit dem Connectstring inklusive Passwort.

Ich speichere SQL-Statements vollständig parametrisiert auch als Ressource.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#7

AW: SQL Statement speichern

  Alt 14. Aug 2023, 10:52
Das stimmt natürlich, aber ein SQL-Statement als Klartext in einer Datei zu speichern, ist an Risiko kaum zu übertreffen.
Wenn jemand böses Zugriff auf das System hat und die Datei zu manipulieren kann, dann ist man eh schon aufgeschmissen. Gegenüber der aktuell verwendeten Registry ist das kein großer Unterschied. Eine Ressource lässt sich da fast ebenso leicht durch eine bösartige Ressourcen-DLL (z.B. mit DE Extension) neben der EXE unterwandern. Den dafür eventuell eingerichteten Zugriffsschutz kann man dann ja auch für die INI-Datei einrichten, dann sind beide Verfahren gleich (un-)sicher.

Bei SQL-Injection geht es aber gar nicht um die Manipulierung der SQL-Anweisung an sich, sondern um die Verfälschung durch bösartige Eingaben, ob die nun vom User am lokalen Rechner, einer importierten Datei oder über die Eingabe auf einer Webseite kommen. Das Speichern der SQL-Anweisung in einer INI-Datei öffnet also mitnichten einer SQL-Injection Tür und Tor. Das ist nur von der SQL-Anweisung selbst abhängig - der Speicherort hat damit überhaupt nichts zu tun.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz