![]() |
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 |
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? |
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^^ |
AW: Indy für Dummies
Eine eigense Seite oder wird auf eine vorhandene/fremde zugegriffen?
|
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 |
AW: Indy für Dummies
Zitat:
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?) |
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. |
AW: Indy für Dummies
Zitat:
|
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 |
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:
Aufruf:
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;
Delphi-Quellcode:
Ein sehr einfaches PHP-Script könnte so aussehen (Optimierungen hinsichtlich Spam, Sicherheit ect. wären Beispielsweise noch angebracht)...:
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)
Code:
Ungetestet.
<?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'; ?> Der Webserver auf Empfänger Seite sollte natürlich sicher Konfiguriert sein. MfG :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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