AGB  ·  Datenschutz  ·  Impressum  







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

Indy für Dummies

Ein Thema von Exterminans · begonnen am 13. Jun 2011 · letzter Beitrag vom 2. Jul 2011
Antwort Antwort
Seite 1 von 2  1 2      
Exterminans

Registriert seit: 13. Jun 2011
20 Beiträge
 
Delphi 7 Enterprise
 
#1

AW: Indy für Dummies

  Alt 13. Jun 2011, 19:58
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.
Fabian

Geändert von Exterminans (13. Jun 2011 um 20:17 Uhr)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Indy für Dummies

  Alt 13. Jun 2011, 20:43
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.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#3

AW: Indy für Dummies

  Alt 13. Jun 2011, 20:53
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
Frederic Kerber
  Mit Zitat antworten Zitat
Darkface

Registriert seit: 18. Apr 2008
89 Beiträge
 
Delphi XE Professional
 
#4

AW: Indy für Dummies

  Alt 13. Jun 2011, 22:25
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
Alexander
Ich halte Ordnung.
Zum Beispiel mein Schreibtisch: Hier ist alles zeitlich geordnet - was zuletzt kam, liegt oben. (Frank Erhoff)

Geändert von Darkface (13. Jun 2011 um 22:49 Uhr)
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#5

AW: Indy für Dummies

  Alt 14. Jun 2011, 08:23
Hmm nachdem ich mir die Problematik durchgelesen habe bleibt für mich eigentlich nur eine Variante:

Ich gehe davon aus das deine Besucher ihr Profil über ein vorhandenen Login auf deiner Seite bereits bearbeiten können. Sollte das nicht der Fall sein sollte die Website erstmal auf diesen Stand gebracht werden.

Über dein Delphi Tool würde ich mich auf der Website via IdHTTP einloggen und dieses Formular bearbeiten. Somit hast du keine hardcoded Login Daten weil jeder Benutzer die Login Daten selber einträgt.
  Mit Zitat antworten Zitat
Exterminans

Registriert seit: 13. Jun 2011
20 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Indy für Dummies

  Alt 14. Jun 2011, 08:32
Ok,

Ich soll PHP verwenden aber wie das genau gehen soll verstehe ich immer noch nicht (sry bin halt delphi ein noob^^).

wie stell ich das mit des Skript an
wie sag ich delphi was es wohin, womit

verschicken soll. wie sorge ich dafür das das auch empfangen wird.......

Fragen über fragen
Fabian
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#7

AW: Indy für Dummies

  Alt 14. Jun 2011, 08:38
Wie bereits gesagt, ich würde die Parameter an ein PHP Script übergeben. PHP hat nichts mit Delphi zu tun, das sollte klar sein.
Für die Übergabe verwende ich idealerweise Indy, und zwar IdHTTP. Warum ? Weil ich die Parameter über das HTTP Protokol an ein PHP Script übergeben möchte. Wie genau? In dem man die URL zu dem PHP Script mit Parametern aufruft und diese im PHP Script selbst abfängt und weiterverarbeitet. via MySQL Connection in eine Datenbank schreibt. Die HTML Seiten deines Services werden dann bei jedem Aufruf durch ein weiteres PHP Script mit den aktuellen Daten aus der MySQL Datenbank generiert.
Beispiel URL würde dann so aussehen:
Code:
http://dein-service.de/index.php?sid=eine_session_id_ist_evtl_nötig&parameter1=blabla&parameter2=blabla
Edit: Es kommt aufjedenfall darauf an wie "professionell" ihr das ganze machen wollt. Es gibt natürlich immer dirty Workarounds

Geändert von -187- (14. Jun 2011 um 08:46 Uhr)
  Mit Zitat antworten Zitat
peterlord1234

Registriert seit: 14. Jun 2011
1 Beiträge
 
#8

AW: Indy für Dummies

  Alt 14. Jun 2011, 09:28
hallo ich kann dir bei deinem problem helfen
schilder es mir nochmal !!
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#9

AW: Indy für Dummies

  Alt 14. Jun 2011, 09:31
Exterminans, wir alle lernen noch Delphi und das wird sich auch niemals ändern

Ich wüsste zugern ob schlauerjunge1234 und peterlord1234 von der selben IP zugreifen
  Mit Zitat antworten Zitat
Exterminans

Registriert seit: 13. Jun 2011
20 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: Indy für Dummies

  Alt 14. Jun 2011, 09:32
ich scheitere an der IdHttp Indy Komponente ich verstehe einfach nicht (trotz mehrtägiger Recherche) wie ich mit dieser Komponente Dateien über php auf einen Server senden kann
Fabian
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:36 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