Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi mit TMySQLClient auf Externen SQL-Server (https://www.delphipraxis.net/68953-mit-tmysqlclient-auf-externen-sql-server.html)

glkgereon 8. Mai 2006 16:37

Datenbank: MySQL 4.1.10a • Zugriff über: Über INet^^

mit TMySQLClient auf Externen SQL-Server
 
Hi,

Ich möchte mit Delphi übers Internet auf einen SQL-Server zugreifen...

Was es genau für ein Server ist weiss ich nicht, aber es läuft wahrscheinlich als mysqld auf nem Linux (Debian?) WebServer.
Das ganze konfigurieren wir über phpmyadmin 2.8.0.2

ich möchte auch nur ganz spezielle Rechte haben (SELECT, INSERT, UPDATE auf 2 Tabellen).
Ich habe also einen user angelegt, welcher von überall connecten kann, aber global nur USAGE kann, und nur in diesen beiden Tabellen SELECT, INSERT und UPDATE hat.

Als MySQLClient nutze ich TMySQLClient von Cristian Nicola...

nun versuche ich mich so zu verbinden:
Delphi-Quellcode:
    FSQL:=TMysqlClient.Create;
    FSQL.Host:=FSQLData.Host; // [url]www.mydbserver.de[/url]
    FSQL.User:=FSQLData.User; // user
    FSQL.Password:=FSQLData.Passwd; //passwd
    if FSQL.Connect then
      begin
      ShowMessage('Connected');
die Daten kommen auch richtig an...aber er Connected einfach nicht.

LastError gibt nur aus "Could not connect to bla (0)"

das selbe funktioniert aber wenn ich auf localhost connecte ... genau so!


Nun könnte es zB sein das mein Router/server/SmoothWall das blockt. Glaube ich aber nicht, da ich sonst noch nie Probleme damit hatte da es ja ausgehend ist.
Ob auf dem Server irgendwas in der Art gesperrt ist weiss ich nicht...Ich bin bei uns der erste der versucht von extern direkt auf die DB zu kommen (d.h. nicht über phpmyadmin).
Der Server ist soweit ich weiss bei 1und1 (sollt ich mich irren ist es Strato) gehostet...Blocken DIE das?
oder mache ich noch irgendwas falsch?

mkinzler 8. Mai 2006 16:40

Re: mit TMySQLClient auf Externen SQL-Server
 
Ich vermute mal stark das der externe Zugriff auf den Mysql-Server nicht gestattet ist.

glkgereon 8. Mai 2006 16:41

Re: mit TMySQLClient auf Externen SQL-Server
 
Zitat:

Zitat von mkinzler
Ich vermute mal stark das der externe Zugriff auf den Mysql-Server nicht gestattet ist.

Wo kann ich das nachgucken? (Und ändern :-D )
(Hab via Putty root-Zugriff...)

RavenIV 8. Mai 2006 16:45

Re: mit TMySQLClient auf Externen SQL-Server
 
Zitat:

Zitat von glkgereon
Ob auf dem Server irgendwas in der Art gesperrt ist weiss ich nicht...Ich bin bei uns der erste der versucht von extern direkt auf die DB zu kommen (d.h. nicht über phpmyadmin).
Der Server ist soweit ich weiss bei 1und1 (sollt ich mich irren ist es Strato) gehostet...Blocken DIE das?
oder mache ich noch irgendwas falsch?

also wenn ich Admin bei 1&1 wäre, dann würde ich externen Zugriff auf MySQL auch unterbinden.
PhpMyAdmin ist ja quasi lokal, da das PHP-Script lokal abläuft -> also gestattet.

Aber wenn Du die Suche hier im Forum bemühen würdest, kämen mehrere Threads, die den externen Zugriff auf MySQL betreffen. Wenn ich mich recht erinnere, gibt es sogar Lösungen dafür.

mkinzler 8. Mai 2006 16:46

Re: mit TMySQLClient auf Externen SQL-Server
 
In der Datenbank mysql kann man solche Rechte setzen.

Ich würde mir aber aus Sicherheitsgründen überlegen, ob ich den Zugriff freischalte.

RavenIV 8. Mai 2006 16:46

Re: mit TMySQLClient auf Externen SQL-Server
 
Zitat:

Zitat von glkgereon
Zitat:

Zitat von mkinzler
Ich vermute mal stark das der externe Zugriff auf den Mysql-Server nicht gestattet ist.

Wo kann ich das nachgucken? (Und ändern :-D )
(Hab via Putty root-Zugriff...)

vermutlich garnicht.
Das wird wahrscheinlich am zentralen Firewall gesperrt sein...

glkgereon 8. Mai 2006 16:51

Re: mit TMySQLClient auf Externen SQL-Server
 
Zitat:

Zitat von mkinzler
In der Datenbank mysql kann man solche Rechte setzen.

Ich würde mir aber aus Sicherheitsgründen überlegen, ob ich den Zugriff freischalte.

Das habe ich mir auch überlegt.

Fakt ist: Ich brauche eine Möglichkeit von einem Externen Rechner aus, dessen IP sich verändert, ganz bestimmte Daten in ganz bestimmte Tabellen einzufügen und diese abzufragen.

Dazu bieten sich imho 2 möglichkeiten an:

Direkte MySQL-Verbindung
+ Performance
+ Authentifizierung

Php-Script was dazwischen hängt
- Performance
- unschön
- authentifizierung umständliche
- zusätzlicher aufwand

und da ich nun die Rechte ja so setzen kann das dieser User, sollte er gehackt werden, im Prinzip keinen Schaden verursachen kann. (Sollte es denn klappen werde ich noch die MaxQueries setzen...damit ein Spamming unmöglich wird.)

[Edit]
BTW: Diese beiden Tabellen beinhalten weder Sicherheitsrelevante Daten noch Daten die ernsthaft irgendeinem Datenschutz unterliegen noch haben sie eine grundlegende Bedeutung für die Homepage (Wie sie zB die Menüeinträge hätten...).
Zudem sind die Daten nach einem bis 3 Tagen sowieso wieder veraltet und werden nach einer Woche gelöscht werden, so dass selbst ein permanentes leichtes Spamming (was wir sofort merken würden => PW ändern) nicht wirklich schlimm wäre.
[/Edit]

klar könnte ich ein PHP-Script schreiben was ich dazwischen hänge...aber das fände ich nicht besonders schön...

[Edit2]
Ich fand grad das hier...mal schauen^^
[/Edit2]

RavenIV 8. Mai 2006 17:02

Re: mit TMySQLClient auf Externen SQL-Server
 
Zitat:

Zitat von glkgereon
klar könnte ich ein PHP-Script schreiben was ich dazwischen hänge...aber das fände ich nicht besonders schön...

Schön oder nicht schön, das ist hier nicht die Frage.
Es muss einfach sicher sein, dass keiner etwas nicht erwünschtes mit der Daten machen kann.
Und es geht nicht darum, was für Daten es sind, sondern darum, dass überhaupt jemand auf den Server kommt. Du kannst Dir nicht vorstellen, was für Schindluder so getrieben wird...

Also wenn ich Dein Chef/Auftraggeber wäre, dann würdest Du die längste Zeit bei mir / für mich arbeiten, wenn das nicht 100 % sicher geregelt wird.
Ich persönlich bekomme da immer den Haß, wenn Leute Sicherheitslücken aufreissen und sich deren Bedeutung nicht bewusst sind.

Ommmm, ganz ruhig werden RavenIV, Ommmm.
Ommmm, ganz ruhig werden RavenIV, Ommmm.
Ommmm, ganz ruhig werden RavenIV, Ommmm.

glkgereon 8. Mai 2006 17:05

Re: mit TMySQLClient auf Externen SQL-Server
 
Kein Angst, wir haben da im Team schon einige Zeit darüber diskutiert.

es ist ja nun nicht so das ich einen user "mysql" ohne Passwort mit allen Rechten global aufmachen würde.
Es ist ein User, wo man den Usernamen erstmal erraten muss. Das Passwort wird dann (da es ja niemand ständig eingeben muss) entsprechend lang sein (12-15 Zeichen, alphanumerisch + Sonderzeichen) und die Rechte sind wie gesagt SEHR eingeschränkt.

DGL-luke 8. Mai 2006 17:14

Re: mit TMySQLClient auf Externen SQL-Server
 
Frag doch einfach bei 1und1 mal an, ob die dir einen solchen user einrichten. es ist ja, wie du schreibst, nichts wirklich gefährliches.

Ansonsten könntest du mal schauen, ob du über SSH direkt auf ne Anwendung zugreifen kannst. afaik hat mysql ein commandline-zugriffstool dabei.

@RavenIV: Wie willst du denn bittesehr über MySQL deine Rechte erhöhen? Wenn das nicht geht, seh ich da nirgendwo ein Problem... also übertreib hier nicht maßlos...


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:48 Uhr.
Seite 1 von 2  1 2      

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