AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Anleitung zum Umgang mit Datenbank Komponenten
Thema durchsuchen
Ansicht
Themen-Optionen

Anleitung zum Umgang mit Datenbank Komponenten

Ein Thema von Ykcim · begonnen am 6. Okt 2012 · letzter Beitrag vom 24. Okt 2012
Antwort Antwort
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#1

AW: Anleitung zum Umgang mit Datenbank Komponenten

  Alt 9. Okt 2012, 11:07
Hallo Zusammen,

Delphi-Quellcode:
MyQuery1.SQL.Text := 'SELECT * FROM tabelle1 WHERE field1 = :wert1;';
 MyQuery1.ParamByName('wert1').AsString := 'Hello World';
 MyQuery1.Open;
Das kannte ich nicht... Aber ich finde es richtig cool, weil es den Umgang mit den SQL-Anweisungen wirklich toll vereinfacht!

Habe es jetzt so umgesetzt:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Cols: TCols;
    Rows: TRows;
begin
  MyQuery1.SQL.Clear;
  MyQuery1.SQL.Add('select * from Benutzer where Vorname= :wert1');
  MyQuery1.ParamByName('wert1').AsString := Edit1.Text;
  connect(Form1.MyConnection1);
  ExecQuery(Form1.MyQuery1, Cols, Rows);
  FillGrid(StringGrid1, Cols, Rows);
  Disconnect(Form1.MyConnection1);
  showmessage('Stop');
  MyQuery1.SQL.Clear;
  MyQuery1.SQL.Add('update benutzer set Vorname= :wert2 where Vorname= :wert1');
  MyQuery1.ParamByName('wert1').AsString := Edit1.Text;
  MyQuery1.ParamByName('wert2').AsString := Edit2.Text;
  MyQuery1.Execute;
  MyQuery1.SQL.Clear;
  MyQuery1.SQL.Add('select * from Benutzer');
  connect(Form1.MyConnection1);
  ExecQuery(Form1.MyQuery1, Cols, Rows);
  FillGrid(StringGrid1, Cols, Rows);
  Disconnect(Form1.MyConnection1);

Was mich jetzt noch interessiert ist, wie Ihr das mit den Connection-Daten macht. Ich habe sie jetzt in einer Textdatei mit der Endung *.set. Aber dann könnte ja jeder diese auslesen und manuell auf den MySQL-Server gehen und das ist sicher nicht im Sinne des Erfinders.
Wie macht Ihr das? und was macht Ihr, wenn es z.B. mehrere mögliche Server gibt und Ihr dem zur Folge auch mehrere Verbindungsdaten habt?


Das zweite ist der Hinweis von Sir Rufo, dessen Sinn ich im ANsatz verstehen kann, aber ich gar keine Ahnung habe, wie ich das umsetzten soll.

Vielen Dank für die tollen Tips bis hierhin.

Ykcim
Patrick
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.689 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Anleitung zum Umgang mit Datenbank Komponenten

  Alt 9. Okt 2012, 11:20
Wenn es schlecht ist, dass sich ein User mit diesen Daten direkt am SQL Server anmelden kann, dann hat dieser User zu viele Rechte . Mach einen User, der nur genau die Rechte hat, die dein Programm braucht, und keinesfalls den root oder sowas. Wenn dieser dann auch im Klartext lesbar ist, macht das nix.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
DanielJ

Registriert seit: 8. Sep 2008
Ort: Hamburg
35 Beiträge
 
Delphi XE Professional
 
#3

AW: Anleitung zum Umgang mit Datenbank Komponenten

  Alt 17. Okt 2012, 10:23
Hallo,

bei uns stehen die Verbindungsinformationen für die Verschiedenen Server in der Registry. Passwörter werden garnicht gespeichert, sondern beim Programmstart vom Nutzer angegeben.

Da kannst du auch machen was du willst - wenn du die Passwörter speicherst kann sie ein entsprechend versierte Nutzer auch auslesen.

Man kann sie zwar Verschlüsseln, aber der Key zum entschlüsseln befindet sich ja dann in der Exe und lässt sich per Debugger schnell finden.

LG,
Daniel

PS: Und dann kommt Firebird und macht alles zunichte in dem es die Passwörter im Klartext übers Netzwerk jagt ...
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#4

AW: Anleitung zum Umgang mit Datenbank Komponenten

  Alt 17. Okt 2012, 12:41
Die Passwörter für die Software werden natürlich nicht in einer File gespeichert, sondern in dem SQL-Server. Aber das Passwort für den Datenbank-Zugriff...

Gruß
Ykcim
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.821 Beiträge
 
Delphi 12 Athens
 
#5

AW: Anleitung zum Umgang mit Datenbank Komponenten

  Alt 17. Okt 2012, 14:38
Datenbankzugriffs-PW ist bei uns in der SW mehr oder weniger fest verdrahtet drin.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.558 Beiträge
 
Delphi 12 Athens
 
#6

AW: Anleitung zum Umgang mit Datenbank Komponenten

  Alt 17. Okt 2012, 15:24
Man sollte sie aber nicht unbedingt im OI (in der DFM) ablegen, sondern irgendwo per Code zuweisen.

Falls man nicht will, daß es per "Textsuche" im Code auffindbar ist (jenachdem wie das Pass"wort" aussieht), dann mit externem Programm verschlüsseln, verschlüsselt in den Quellcode kopieren und dort beim Zuweisen entschlüsseln lassen.

Mehr mühe braucht man sich nicht machen, denn jeder mit einem Compiler kann immernoch zum Aufruf der Passwortabfrage/-übergabe und sich dort den Inhalt der Variable (Speicherbereich im RAM) ansehn.
Und dann kann man eventuell auch noch ganz einfach die Connection zum DBServer belauschen (falls nicht verschlüsselt).
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Anleitung zum Umgang mit Datenbank Komponenten

  Alt 17. Okt 2012, 18:02
Es stellt sich die Frage, ob man überhaupt viel Energie in das Verstecken, Verschleiern oder Versonstwas mit den Zugangsdaten anstellen sollte.

Eine vernünftige Anwendung und vernünftig konfigurierter Server können dahingehend recht gut abgesichert werden, trotz bekannten Zugangsdaten sich keine Blöße zu geben.

Wer allerdings als Zugangsdaten den Root mitgibt, ja, der ist ja auch irgendwie selber Schuld gelle
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  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 18:01 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