Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Internetverbindung "verstecken"? (https://www.delphipraxis.net/67200-internetverbindung-verstecken.html)

Angel4585 11. Apr 2006 09:20

Re: Internetverbindung "verstecken"?
 
Moment: Wenn ich das per Post mache ist es schon verschlüsselt/versteckt oder hab ich das jetzt falsch verstanden?

mquadrat 11. Apr 2006 09:21

Re: Internetverbindung "verstecken"?
 
Es ist nicht verschlüsselt, es steht nur nicht in der URL.. Zum Verschlüsseln musst du SSL nehmen

Evian 11. Apr 2006 09:30

Re: Internetverbindung "verstecken"?
 
Zitat:

Zitat von Angel4585
ich mach das nicht per "Get", wie du oben siehst mach ich das mit "Post"

Also ich habe eher nur rudimentär Ahnung von PHP, aber muss man nicht die PHP-Datei erstmal geladen haben, bevor man mit POST Variablen übergeben kann?! Ich meine, er hat doch noch gar nichts geladen, er hat doch nur die URL und die Parameter, also kann er doch gar nichts anderes machen, als die Parameter in der URL mit zu übergeben. (Bitte berichtigen, wenn das Blödsinn ist)

@Angel: Alternativ zu SSL kannst Du auch den Parameter vorher verschlüsseln und im PHP dann später auf dem Server wieder entschlüsseln. Die Daten können dann zwar immer noch ohne Probleme mitgelesen werden, aber es wird dann wesentlich schwieriger für den "Mitlesenden", damit etwas anzufangen.

jfheins 11. Apr 2006 09:37

Re: Internetverbindung "verstecken"?
 
Es ist Blödsinn :mrgreen:

Es wird die URL (mit evtl. GET-Parametern) und evtl. POST-Paramtern und einigen anderen Sachen als Anfrage geschickt und vielleicht kommt was zurück ;)

Das verschlüsseln kann man aber auch rausfinden ... Bessaer wäre es, online eine Prüfung einzubauen, dass man keine Vorteile kriegen kann auch wenn man alles (inkl. Parameter) weis ... ;)

Angel4585 11. Apr 2006 09:39

Re: Internetverbindung "verstecken"?
 
ja und muss ich die daten dazu einfach nur an "Https://" anstatt an http://" schicken?
Oder benötige ich dazu ein Komponente die das macht?
Es gibt ja die TIdSSLIOHandlerSocketOpenSSL, muss ich die oder eine andere Kompo verwenden?

@Evian: Also das mit der Übergabe funktioniert, also dass ich die Daten im Skript per "$_POST[Feld]" hole, also denk ich mal funktioniert das so mit dem Post.

@jfHeins: Das mit der Onlineprüfung dürfte schwer werden, da ich eigentlich die Berechnungen im Programm machen will und nur die Daten übergebe.

Evian 11. Apr 2006 09:41

Re: Internetverbindung "verstecken"?
 
Zitat:

Zitat von jfheins
Es ist Blödsinn :mrgreen:

..och menno! :)

Zitat:

Zitat von jfheins
Das verschlüsseln kann man aber auch rausfinden ... Bessaer wäre es, online eine Prüfung einzubauen, dass man keine Vorteile kriegen kann auch wenn man alles (inkl. Parameter) weis ... ;)

@Angel: Wenn wir wüssten, was Du genau machen willst, also was für Informationen Du an das Script übergeben willst, dann könnten wir Dir sicher sagen, wie man das Sicherer machen könnte.

mquadrat 11. Apr 2006 09:41

Re: Internetverbindung "verstecken"?
 
Zitat:

Zitat von Angel4585
ja und muss ich die daten dazu einfach nur an "Https://" anstatt an http://" schicken?
Das mit der Onlineprüfung dürfte schwer werden, da ich eigentlich die Berechnungen im Programm machen will und nur die Daten übergebe.

Was macht denn dann die PHP Datei noch?

Orbmu2k 11. Apr 2006 10:02

Re: Internetverbindung "verstecken"?
 
Ich habe sowas auch schon gemacht ...

Das mit dem SSL wäre ein Möglichkeit ...

Ich habe allerdings die Parameter Verschlüsselt und einen zusätzlichen Prüfparameter übergeben der wiederum verschlüsselt war.
Im PHP Script hab ich dann alles entschlüsselt und mit dem Prüfparamter überprüft ob die übergebenen Daten zum selben Prüfschlüssel führen.

Das zu immitieren bedeutet sehr viel Aufwand und ich denke das sich den keiner bei einem kleinen Spiel macht nur um zu behumsen ;-)

Angel4585 11. Apr 2006 10:07

Re: Internetverbindung "verstecken"?
 
die Skripte(mehrere) suchen mir Daten von den Spielern zusammen die ich für die aktuelle Aktion brauche, oder speichern Daten in Dateien ab(ich wollt das ohne DB machen).

Also ich sende zum Beispiel hin:
Delphi-Quellcode:
procedure DatenSenden;
var
data: TIdMultiPartFormDataStream;
begin
data:=TIdMultiPartFormDataStream.Create;
with data do
AddFormField('nick','Spielerx');
AddFormField('action','Gebaeude');
AddFormField('code','saljdfa');//Programmcode der im Skript geprüft wird
with IdHTTP1 do
  gebauede:=Post('http://www.zieladresse.de/skript.php',data);
end;
Resultat ist dann sowas wie
Code:
0001 //Gebaeudetyp
000F //Gebaeudelevel
0003 //Gebaeudetyp
000D //Gebaeudelevel
oder wenn z.B. ein Gebaeude ausgabaut werden soll:
Delphi-Quellcode:
procedure DatenSenden;
var
data: TIdMultiPartFormDataStream;
begin
data:=TIdMultiPartFormDataStream.Create;
with data do
AddFormField('nick','Spielerx');
AddFormField('action','Gebaeude');
AddFormField('startzeit',DateTimeToStr(Now));
AddFormField('dauer','1200');
AddFormField('code','saljdfa');//Programmcode der im Skript geprüft wird
with IdHTTP1 do
  gebauede:=Post('http://www.zieladresse.de/skript.php',data);
end;
In diesem Fall bekomm ich wenn das erfolgreich ausgeführt wurde nichts als " '' " zurück, wenns ein Fehler gibt " '1' ".

Ich könnte die vergleich schon in den Skripten machen, allerdings würd ich schon ganz gern den Server entlsaten, auch wenns nicht wirklich viel ist was da passiert.

jfheins 11. Apr 2006 10:29

Re: Internetverbindung "verstecken"?
 
wenn du beispielsweise verhindern willst, dass er sowas sendet wie "gebäude: level 100 startzeit: jetzt ende: in 1 sek." Dann musst du wohl oder übel in das php-script eine Plausibilitätsprüfung (oder so) einbauen, dass nur noch gesendet wird " gebäude level up" und das script guckt dann, welches level, und wie lange es zu dauern hat ...

;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:51 Uhr.
Seite 2 von 3     12 3      

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