Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Datei auf Server ändern?! (https://www.delphipraxis.net/109064-datei-auf-server-aendern.html)

Torley 23. Feb 2008 19:02


Datei auf Server ändern?!
 
Hi ich habe eine Higscoreliste in mein Snake eingebaut. Problem ist nur das ich will das die weltweit die selbe highscore enthält also irgendwo online ist.
mein klassenkollege bieten mir an die datei auf seinen server zu laden.

so nun zur umsetztung in delphi!
zur zeit benutze ich ein tutorial:

http://www.delphi-library.de/topic_e...3cad20a9ce8a3a
Delphi-Library.de - ...eine HighScore Funktion realisieren?

das speichert die datei in .dat . kann delphi 6 diese datei auf einem server akktualisieren?
oder noch besser in eine datei speichern die mein freund auf der homepage anzeigen lassen kann z.b. xml.

ich hab keinen plan wie ich auf die datei zugreifen kann und vor allem speichern kann wenns den möglich ist!

hat jemand eine idee?


torley

pilic 23. Feb 2008 19:04

Re: Datei auf Server ändern?!
 
Ich würde es mit Get-Variablen übermitteln und auf dem Server mittels einem kleinen PHP-Script auswerten, d.h. speichern lassen.

mkinzler 23. Feb 2008 19:07

Re: Datei auf Server ändern?!
 
Post ist Get vorzuziehen

pilic 23. Feb 2008 19:23

Re: Datei auf Server ändern?!
 
Stimmt. Würde man Get verwenden, wäre es extrem leicht zu cheaten..

Torley 23. Feb 2008 19:48

Re: Datei auf Server ändern?!
 
also muss ich ein php script schreiben dem ich die tstringlist gebe und der die speichert bzw läd wen ich sie im programm anzeigen will?!
nur doof das ich kein php kann :(
weiß jemand obs nicht so ein tutorial irgendwo gibt?

pilic 23. Feb 2008 19:53

Re: Datei auf Server ändern?!
 
Was hast du mit einer StringList vor? Ich würde lediglich Name, Score und Level o.ä. an den Server senden.

Delphi-Treff: Post

Und das Verarbeiten bzw. Speichern mit PHP ist nicht sonderlich schwer. Bei PHP5 ist SimpleXML von Haus aus dabei, das macht es einem sehr leicht.

DeddyH 23. Feb 2008 19:54

Re: Datei auf Server ändern?!
 
Wieso willst Du dem Script eine StringListe übergeben? Übergib doch einfach den erreichten Punktestand, den Rest macht das Script dann.

Torley 23. Feb 2008 20:59

Re: Datei auf Server ändern?!
 
bisher läd mein programm aus einer datei alle werte und speichert sie sortiert in einer tstringlist die wieder gespeichert wird. so hab ich die möglich keit in der liste zu suchen und muss sie nicht immer neuladen, halt nur vor speichern damit andere sich auch eintragen können.

mit dem tut hätt ich jetzt den teil den ich in delphi programmieren müsst.
nur weiß ich nicht wie ich mit php post daten empfange und wie ich sowieso eine php datei erstell.

pilic 23. Feb 2008 21:14

Re: Datei auf Server ändern?!
 
Eine PHP-Datei ist im Pinzip eine Textdatei mit der Endung php, damit der Server weiß, dass er diesen Text parsen muss.

Hier siehst du, wie man mit der $_POST Variable umgeht.

Und hier, wie man mit Textdateien umgeht.

Die Syntax ist der von C ähnlich.

Green 23. Feb 2008 21:28

Re: Datei auf Server ändern?!
 
Zitat:

Zitat von pilic
Stimmt. Würde man Get verwenden, wäre es extrem leicht zu cheaten..

Es ist auch mit Post sehr leicht zu cheaten ;) ;)

Du musst dir ein Sicherheitssystem ausdenken.

Am besten generierst du auf eine bestimmte art einen Key [Thema: md5 Hash... PHP Funktion: md5()] der zusätzlich zu dem Highscore übermittelt wird. Dieser wird auf eine bestimmte Weise aus dem Highscore errechnet. Zum bleistift:

md5((Highscore*153)+sqrt(2)*3.141592+log(Highscore )) oder sowas ^^
Das wird jetzt also geschickt (Beispiel...):
index.php?highscore=150000&hash=adc5ba6c54bca65cba d56421&username=Green

jetzt nimmst du auf dem Server die highscore und wandelst sie auf die gleiche Weise zu einem md5 hash um und prüfst dann ob der mitgeschickte mit dem errechneten übereinstimmt.
Wenn ja: Highscore ist positiv! Sonst => Cheater

Jetzt müsste man um zu cheaten genau deine md5hash rechen methode kennen, was sich bei ausreichender Komplexität der selbigen als relativ schwierig rausstellen sollte...

Das ist zwar nicht unknackbar aber schon einmal ein Anfang.

Wer jetzt sagt "aber Post kann man doch nicht beeinflussen":
Du brauchst nur den Header der Anfrage ein wenig zu ändern, und das ist easy...

lG Green

//nachtrag: md5 "rückwärts" zu entschlüsseln ist praktisch unmöglich. Dazu: de.wikipedia.org/wiki/md5


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:55 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