Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

11

19.05.2008, 13:37

Zitat von »"rewb0rn"«

Geschmeidig bleiben Freunde 8)


Gefällt mir der Ausdruck. :)

@fkrauthan
Ich finde, dass du zuerst das ganze Tutorial hättest schreiben sollen und erst dann posten. So ist es ein wenig Mühsam auf jedes Stückchen zu warten.

12

19.05.2008, 15:10

Also, erstmal das Positive:
Schön das du dich an einem Tutorial versuchst!

Jetzt die Kritik:
(1) Rechtschreibfehler korrigieren.
(2) Halte dich bei ' und " an eine einheitliche Schreibweise und variiere nicht dauernd.
(3) Wie korrekt angemerkt solltest du [/HIGHSCOREDATE] noch ausgeben lassen.
(4) Nicht zwischen Englisch und deutsch variieren ("points", "pruef").
(5) ... schreib erstmal weiter ... dann kommt der Endschlag ;)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

fkrauthan

Supermoderator

  • »fkrauthan« ist der Autor dieses Themas

Beiträge: 979

Wohnort: Vancouver

Beruf: Software engineer

  • Private Nachricht senden

13

20.05.2008, 01:21

@Steef: Nein es wird auf alle faelle ausgegeben, da er ja nur den PHP Teil abbricht. Und das schliesen kommt am ende auserhalb des PHP Blocks. Zumidnest bei meinem eigenen Highscore szstem klappt das ganz gut.

Zu den Rechtschreibfehlern, Die behebe ich schon noch is ja noch im aufbau. Und das es Haepchen weise ist, liegt daran das ich immo im Urlaub bin somit nicht so wirklich dran schreiben kann, daher ist es auch hier im Bereich und nicht im Tutorial bereich. Ihr muest euch schon etwas gedulden.

Und unfreundlich bin ich nur daher geworden weil Unsigend Long so wie er seinen Post verfasst hat mir vorhalten wollte er ware um so viel besser und klueger als ich und ich bin voll der PHP noob und sowas lasse ich mir nicht gefallen. Mir egal was fuer ein licht auf mein Tutorial faellt. wers lesen will solls tun wer nicht muss es ja nicht.
Homepage: fkrauthan.de | Browser-game: flowergame.net

CodingCat

1x Contest-Sieger

Beiträge: 420

Beruf: Student (KIT)

  • Private Nachricht senden

14

20.05.2008, 09:04

Vielleicht solltest du dir nochmal Gedanken darüber machen, wer hier wem etwas vorhalten wollte, viel konstruktiver und freundlicher, als unsigned long seinen ersten Post verfasst hat, geht es eigentlich nicht mehr. ;-)

Dennoch schön, dass du dich an einem Tutorial versuchst, um der Community Wissen zurückzugeben. Weiter so! :-)
alphanew.net (last updated 2011-06-26) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite

Sicaine

unregistriert

15

20.05.2008, 09:31

Zitat von »"fkrauthan"«

einfach md5 ist zu einfach zu knacken. Und nunja ich hab schon begruendet wieso ich " verwende. Hab mir deine Projekte mal angeschaut und ich finde sie gut und moechte keines falls streit mit dir haben.

Immerhin soll das Tut jeder einsetzen. Sollten nun alle md5 Pruefsumme verwenden duerfte deren Highscore sehr schnell gehackt sein.


Hm naja aus meiner Erfahrung heraus wird es sehr sehr schwer bis quasi unmoeglich einen Hash per BruteForce zu finden. Zumindest ab einer Laenge ab 8 Zeichen mit a-zA-Z0-9 und sonderzeichen. Nicht ohne Grund gibt es rainbowtable services, die _nur_ bis 8 Zeichen gehen und sich die Table in einer communit berechnen lassen haben und jetzt Terrabyte Daten auf ner HDD drauf haben. Da du aber allein mit dem Username + Highscore schon ueber die 8 kommen wirst, sollte es recht unwarscheinlich sein, dass jemand drauf kommt. Zudem hast du dann immer eine Checksum die genau 32Zeichen lang ist.

Anonymous

unregistriert

16

20.05.2008, 10:00

CodingCat
Bähm :D

fkrauthan
Wenn dir egal ist was für ein Licht auf dein Tutorial fällt, wird sich ziemlich schnell rumsprechen, das es nicht würdig ist gelesen zu werden bei solchen Ausfällen, wie von dir - Egal ob es gut oder schlecht ist.

Allein schon auf die Idee zu kommen ein Tutorial zu schreiben und es dann so stiefmütterlich zu behandeln, finde ich doch recht konfus.

17

20.05.2008, 12:59

Zitat

@Steef: Nein es wird auf alle faelle ausgegeben, da er ja nur den PHP Teil abbricht. Und das schliesen kommt am ende auserhalb des PHP Blocks. Zumidnest bei meinem eigenen Highscore szstem klappt das ganz gut.

Das ist ein Irrtum deinerseits. Es bricht das Script komplett ab. Es ist egal, ob außerhalb des PHP-Teils noch was kommt. Es wird nicht ausgegeben.

Zum Beweis:
http://sf389.sf.funpic.de/test.php
Inhalt:

Quellcode

1
2
3
4
5
6
[bla]
<?php
die();
echo "123";
?>
[/bla]

fkrauthan

Supermoderator

  • »fkrauthan« ist der Autor dieses Themas

Beiträge: 979

Wohnort: Vancouver

Beruf: Software engineer

  • Private Nachricht senden

18

20.05.2008, 14:20

OK. dann habe ich das falsch im kopf. Da muss ich dann wenn ich zuhause bin nochmal schaun wie ich das Gehandelt habe. Es geht nicht darum das die MD5 Summe nicht geknackt werden kann es geht darum das wenn ich einfach nur MD5 verwende dass dann jeder sofort seine eigene URL zusammen flicken kann um Facke eintreage zu machen. Daher verwende ich nicht einfach MD5.

@Unsigend Long: Wie gesagt wenn das Tutorial interesiert soll es lesen dem beantworte ich auch gerne fragen und erklear ihm Teile und wer nicht der soll es lassen.
Homepage: fkrauthan.de | Browser-game: flowergame.net

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

19

20.05.2008, 14:33

Zitat von »"fkrauthan"«


@Unsigend Long: Wie gesagt wenn das Tutorial interesiert soll es lesen dem beantworte ich auch gerne fragen und erklear ihm Teile und wer nicht der soll es lassen.


Wa jedoch nicht heißt, dass ebendies unfehlbar ist und nicht durch konstruktive Kritik bereichert werden kann

20

23.05.2008, 18:42

Zum Hash: Also einen md5 Hash zu knacken ist doch wesentlich schwieriger, als deinen Hash, vorrausgesetzt, man verwendet das richtige Salz.

Generell bleibt die Highscore aber immer angreifbar. z.B: Man hält das Spiel mit einem Debugger im richtigen Zeitpunkt an, bevor die Score gesendet wird und sucht im Speicher nach der Punktzahl und korrigiert sie. Das ist recht einfach, wenn man mal ein bissl Übung hat.

Ich würde auch file und ' bevorzugen. Der Performancevorteil düfte zwar bei so einem winzigen Skript kaum eine Rolle spielen, aber es ist meiner Meinung nach einfach ein besserer Style.

Warum gibt es eigentlich einen Skript, der die Daten aus der Datei ließt, sie konvertiert und dann verschickt? Man kann doch gleich die Daten im 'richtigen' Format speichern, und dann die Datei direkt abfragen, das spart ein PHP Skript.

Die Daten sollte man lieber per POST übertragen, anstatt mit GET, da es bei GET (theoretisch) möglich, das die Seite gecached wird und der Skript nicht ausgeführt wird.

Was passiert, wenn zwei Spieler gleichzeitig ihre Score übermitteln? Greifen dann zwei Skripts gleichzeitig auf die Datei zu und editieren sie?

Und warum so ein komisches Format zum übertragen der Daten? Mach die [] zu <> und füg noch ne Headerzeile dazu, dann haste xml, oder verwende ein einfaches zeilenbasierendes Format. Das kann so einfach aussehen:

Quellcode

1
2
3
OK
100000 Florianx
1000 other player


Und du solltest unbedingt die Parameter noch überprüfen, points sollte nur aus 0-9 bestehen, name darf keine \n enthalten und sollte auch keine Steuerzeichen etc. enthalten.

Dein Layout zum Speichern der Daten in einem Array ist auch recht umständlich, warum nicht einfach so:

Quellcode

1
2
$highscore = array("100000"=>"Florianx", "1000"=>"other player");
ksort($highscore); //so einfach sortieren


Ich benutze Ubuntu Linux, aber was hat das mit dem Topic zu tun?

Werbeanzeige