AGB  ·  Datenschutz  ·  Impressum  







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

MySQL direkt abfragen

Ein Thema von Schwedenbitter · begonnen am 25. Jul 2016 · letzter Beitrag vom 25. Jul 2016
Antwort Antwort
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#1

MySQL direkt abfragen

  Alt 25. Jul 2016, 14:58
Datenbank: MySQL • Version: 5.5 • Zugriff über: ?
Hallo,

ich habe hier folgendes Szenario:
Auf einem Rechner (=Server) laufen html-, MySQL-Server und diverse andere Sachen. Unsere Firmensoftware ist in php realisiert. Da es aber aus Sicherheitsgründen schwer (evtl. unmöglich) ist, Geräte (Diktiergerät, Scanner, Drucker etc.) anzusteuern, mussten wir das ander lösen. Klickt der Benutzer auf einen Button, erzeugt der php-Code eine Datei, die von einer in Delphi programmierten Server-Applikation ausgewertet wird. Diese wiederum sendet dann eine Anforderung an den betreffenden Client (ebenfalls in Delphi), der dann die eigentlich Hardware-Operation ausführt.
Das ganze ist kompliziert und aufwendig zu warten. Ich würde es daher gern kürzer gestalten.

Da der MySQL-Server sowieso läuft, wäre meine Idee jetzt, dass der php-Code in einer Tabelle einen Eintrag erzeugt. Die Clients verbinden sich nun - statt mit dem selbstgebauten - direkt mit dem MySQL-Server und holen sich den Request.

Dazu habe ich (vorerst) 2 Fragen:
  1. Gibt es Sicherheitsbedenken gegen dieses Vorgehen? Ich selbst habe ein mulmiges Gefühl, wenn die Clients direkt mit dem MySQL-Server verbunden sind.
  2. Kann man - außer über ein timergesteuertes Polling - diese Event-Einträge abfragen? Im Moment erzeugt das Ganze keine Last, weil der Client erst und nur dann reagiert, wenn der Server ihm eine Nachricht zukommen lässt. ich weiß nicht, ob das mit MySQL auch möglich wäre.

Für Ideen wäre ich dankbar,
Alex
Alex Winzer
  Mit Zitat antworten Zitat
-=ZGD=-

Registriert seit: 25. Apr 2006
Ort: Bad Aibling
105 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: MySQL direkt abfragen

  Alt 25. Jul 2016, 15:28
Hallo.

Zur zweiten Frage: http://stackoverflow.com/questions/3...hi-application
Stefan Michalk
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
  Mit Zitat antworten Zitat
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: MySQL direkt abfragen

  Alt 25. Jul 2016, 15:47
Danke erstmal für die Antwort.
Wenn ich das richtig deute, wird es dadurch nicht einfacher. Denn der Ersteller "ended up" mit einer 2-Komponenten-Lösung bestehend aus Windows-App (Verbindung zur MySQL-DB) und einem Client. Da die sich vermutlich sehr gut auskennen, entnehme ich dem also, dass es keine einfache Lösung Delphi-Client <-> mySQL-DB gibt.
Dann bliebe allenfalls noch der Timer. Das hat aber den Nachteil der schlechten Skalierbarkeit. Das mag mit 10 Clients noch OK sein. Aber wenn es nachher mehr werden, würde das vermutlich einen DoS nach sich ziehen. Schade eigentlich.
Alex Winzer
  Mit Zitat antworten Zitat
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
509 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: MySQL direkt abfragen

  Alt 25. Jul 2016, 16:47
Hi,

Zum ersten: Es ist nur so sicher wie du das ganze aufbaust. Grundsätzlich solltest du heute immer MySQLi verwenden wenn du mit PHP arbeitest. Achte darauf jeden möglichen User-Input zu validieren und am besten gleich zu escapen (mysqli::real_escape_string) bevor du es einfach in die DB jagst. Wenn du sauber arbeitest wird da keiner so schnell was kaputt kriegen, wobei man in den meisten Fällen nicht ausschliessen kann das trotzdem kleine bis gravierende Sicherheitsprobleme vorliegen.

Aber wäre es nicht noch einfacher die Verbindung direkt über TCP sockets zu lösen? Geht in PHP auch (Hab mal nen IRC-Bot in PHP geschrieben, ist aber lange her )

Freundliche Grüsse
Milos
  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 21:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz