Delphi-PRAXiS
Seite 1 von 7  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Indy für Dummies (https://www.delphipraxis.net/161037-indy-fuer-dummies.html)

Exterminans 13. Jun 2011 18:21

Indy für Dummies
 
ich bin totaler Neuling was Delphi und Programmieren angeht.

Daher die Frage: Kann mir hier IRGENDWER das mit den Indys erklären

-vorab:
-Ich hänge hier schon seit 3 Tagen an einem ,,simplen'' Programm.
-ich habe mir in verschiedenen Foren ,,ähnliche'' fälle angesehen.
-mir die Finger wund gegoogelt.
und dennoch nichts gefunden was in der Lage war mir dieses Wissen offenbaren.

mein programm sammelt die ins Formular eingetragenen Daten in einem Memo und speichert das memo als
.txt Datei.
nun müsste das programm diese daten an eine bestimmte (nach Möglichkeit) feste, zeitlich unbegrenzte
adresse(bin nicht sicher in wie weit man diese ,,Server'' nennen kann) versendet -und dort Gespeichert werden, jedoch ohne das dadurch einem ,,hacker'' den zugriff auf diese adresse(durch in meinem Programm vorliegende Daten) zu erleichtern.

ich weiß nicht ob ich die IdFTP oder IdHttp Komponente verwenden soll, oder ob etwas anderes vorzuziehen ist.
ich weiß nicht wie ich an die Parameter dafür komme.
ich weiß nicht wie ich diesen Komponenten die paramenter vermitteln muss.
komme und wie ich der Komponente sage was sie tun soll.

+KEIN Indy Vorwissen
+Keine ahnung von PHP & Co
(Anfänger, sag' ich ja)

von den 3 Tagen hab ich bloß ca 2 stunden bis zur aktuellen version des Programmes benötigt, seit dem hänge ich
an diesem Problem.

benötige dringend Hilfe

mkinzler 13. Jun 2011 18:27

AW: Indy für Dummies
 
Formulatdaten hört sich sehr nach HTTP an. U.U. wäre dann ein TWebBrowser besser geeignet.

Was soll das Programm genau machen?

Exterminans 13. Jun 2011 18:38

AW: Indy für Dummies
 
Um genau zu sein geht es um einen Charaktertransfer für einen mmorpg server. Das programm bieted die möglichkeit die ,,Werte'' seines charakters einzugeben diese werden gespeichert um dann sofort verschickt zu werden sodas wir diese Angaben auswerten können und der Spieler mit (mehr oder weniger) dem selben Charakter den er vorher woanders hatte weiterspielen kann.

ignoriert die tatsache das die spieler falsche angaben machen können darum kümmer ich mich später^^

mkinzler 13. Jun 2011 18:40

AW: Indy für Dummies
 
Eine eigense Seite oder wird auf eine vorhandene/fremde zugegriffen?

Exterminans 13. Jun 2011 18:47

AW: Indy für Dummies
 
nein wir ermöglichen dem Spieler sich einen Charakter zu erstellen, wie der den er sich erspielt hat, auf seinem alten
,,Spiele-Server'' mehr nicht.


wir haben eigene Webseite und Server

Aphton 13. Jun 2011 19:51

AW: Indy für Dummies
 
Zitat:

nun müsste das programm diese daten an eine bestimmte (nach Möglichkeit) feste, zeitlich unbegrenzte
adresse(bin nicht sicher in wie weit man diese ,,Server'' nennen kann) versendet -und dort Gespeichert werden, jedoch ohne das dadurch einem ,,hacker'' den zugriff auf diese adresse(durch in meinem Programm vorliegende Daten) zu erleichtern.
Häh? Lass mich das mal so zusammenfassen, wie ich das verstanden habe:
Du willst Daten an einen Server verschicken, willst dies aber erreichen, ohne dass es einem Dritten möglich ist, rauszufinden, an welchen Server du die Daten verschickt hast?

Falls das so stimmt, dann frage ich mich - wieso? (Designfehler?)

Exterminans 13. Jun 2011 19:58

AW: Indy für Dummies
 
Ich erklär mein Problem noch mal

das Programm soll
auf jedem beliebigen (duchschnittlichen) Pc (WindowsXP bis Windows7) aus ausgeführt werden können (Kann Es)


Ein Fragebogen öffnet sich, dort können Werte eingetragen werden Inventar, Rüstung, Level usw.

Das Programm soll die von Benutzer eingegebenen Daten(als Txt) lokal auf dessen Pc zwischenspeichern.
(Kann Es)


und es soll
die dateien(txt und evtl. Bilddateien) auf knopfdruck des Benutzers an mich oder den Server senden.
(Kann Es Nicht)


das geht ,laut meiner Recherche mit Indys, aber alle bisher gelesenen Tutorials, und Erklärungen erwarten Vorwissen das ich nicht besitze.

die zu versendenen Daten und Dateien sind nicht vertraulich (sind bloß Werte wie z.B. Die Rüstung eines Chrakters oder dessen Zauber)^^.
Bloß darf man durch das oben genannte Programm Nicht an Verbindungsdaten gelangen können und sich somit unerlaubt zugriff zu dem Server(Empfänger) zu verschaffen.


ich brauche eine Anfänger gerechte Erklärung der Versendung von dateien mit
Delphi 7 enterprise, oder fertige Programmcodes
Alles was mein Problem beseitigt ist willkommen haupsache ich krieg dieses Programm hin.

Namenloser 13. Jun 2011 20:43

AW: Indy für Dummies
 
Zitat:

Zitat von Exterminans (Beitrag 1106203)
die zu versendenen Daten und Dateien sind nicht vertraulich (sind bloß Werte wie z.B. Die Rüstung eines Chrakters oder dessen Zauber)^^.
Bloß darf man durch das oben genannte Programm Nicht an Verbindungsdaten gelangen können und sich somit unerlaubt zugriff zu dem Server(Empfänger) zu verschaffen.

Das geht prinzipiell nicht. Wenn dein Programm beim Nutzer laufen soll, muss es die Verbindungsdaten kennen. Somit ist es auch immer möglich, die Verbindungsdaten aus dem Programm zu extrahieren. An dem gleichen Problem scheitern ja auch alle Kopierschutzmechanismen. Das einzige, was du machen kannst, ist, die Daten zu verschleiern, um das Extrahieren möglichst aufwendig zu machen.

fkerber 13. Jun 2011 20:53

AW: Indy für Dummies
 
Hi,

ich denke, es ist die Frage, wie man Verbindungsdaten definiert.
FTP-Upload wäre sicherlich kritisch, da jemand mit diesen Daten dann uU ja auch wieder was löschen könnte etc.

Realisiert man den Upload aber bspw. über ein (PHP-)Skript, dann gibt es als Verbindunsdaten ja "nur" die URL zu dem Skript und damit alleine kann man (wenn das Skript sicher ist), erstmal nicht so viel Schaden (bis keinen) anrichten.



LG, Frederic

Darkface 13. Jun 2011 22:25

AW: Indy für Dummies
 
Ich denke auch das man mit PHP eine "sichere" Lösung auf rellativ einfachem Wege erreichen kann. Dazu ist eigenlich nur ein PHP-fähiger Webserver auf Empfänger Seite erforderlich und ein Code nach etwa diesem Schema:

Delphi Client:
(Nutzung der Indy TIdHTTP-Komponente)
Delphi-Quellcode:
function SendeAnScript(ScriptAddr:string, Felddaten:string): string;
var Parameter: TStringList;
begin
  Parameter := TStringList.Create;
  Parameter.Add(Felddaten);
  try IdHTTP1.Post(ScriptAddr, Parameter);
  finally Parameter.Free;
  end;
end;
Aufruf:
Delphi-Quellcode:
var rck:string //falls das Script eine Rückgabe liefert, wie "Erfolgreich übermittelt" oder "Fehler Feld xyz fehlt..."
begin
rck:=SendeAnCript('http://server.adresse/script.php','daten=' +Memo1.Text); //Ich vermute mal die Daten stehen in einem Memo oder in ähnlichem...
//das "daten=" vor den eigentlichen Felddaten ist der Name des übergebenen Parameters wie er vom PHP Script später erwartet wird (sowie ein = dran :D)
Ein sehr einfaches PHP-Script könnte so aussehen (Optimierungen hinsichtlich Spam, Sicherheit ect. wären Beispielsweise noch angebracht)...:
Code:
<?php
  mysql_connect("localhost", "Nutzername","Passwort") or die ("Keine Verbindung moeglich");
  mysql_select_db("Datenbankname") or die ("Die Datenbank existiert nicht.");

  $daten= $_POST["daten"];
  mysql_real_escape_string($daten);

  //hier Möglicherweise noch eine Auswertung der Daten, prüfen auf fehlende Inhalte etc. wenn nicht schon in Delphi geschehen

  $eintrag = "INSERT INTO Tabellenname (DatenSpaltenname) VALUES ('$daten')";
  $eintragen = mysql_query($eintrag);

  echo 'Dies wird IMMER zurückgegeben';
?>
Ungetestet.
Der Webserver auf Empfänger Seite sollte natürlich sicher Konfiguriert sein.

MfG :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:11 Uhr.
Seite 1 von 7  1 23     Letzte »    

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