Mein Webspace spinnt rum?

  • GM 8

    Mein Webspace spinnt rum?

    Hallo,

    ich arbeite zur Zeit an einem neuen Updater für meine Programme / Spiele.
    Hier treten allerdings kleine Probleme auf, denn ich habe Probleme mit dem Webspace.
    Langsam bin ich an einem Punkt angelangt, wo ich nichtmehr weiter weiß.

    Das Problem sieht folgendermaßen aus:
    ( Habe den Namen durch "blabla" ersetzt )
    Auf mein Webspace ist eine Datei ( blablabla_version.ini )
    Dort drin steht folgendes:
    [BlaBla]
    version=15

    Jedoch wenn ich sie jetzt mit der downloadfile.dll herunterlade, dann steht dort etwas ganz anderes !
    [BlaBla]
    version=1.4

    Ich habe meinen ganzen Webspace abgesucht und soeine Datei nicht gefunden mit solchen Inhalt.
    Wie kommt es, dass er sie zwar herunterläd, jedoch mit falschem Inhalt?
    Ich habe im Programm keinen Code, der die Ini öffnet und ändert, sondern nur ausliest.
    Ich habe auch schon versucht mit einem anderen Programm dies zu machen
    ( Habe ich vorhin kurz erstellt, der diese Datei nur downloaden soll )

    GML-Quellcode

    1. scr_downloadfile("http://HOMEPAGE.bplaced.net/ORDNER1/ORDNER2/blablabla_version.ini","blablabla_version.ini")


    Ich sehe hierdrin jedenfalls keinen Fehler..

    Hier ist noch das einzige Script von der DLL: ( Falls hilfreich )

    Spoiler anzeigen

    GML-Quellcode

    1. /*
    2. Argument0 = Url to file
    3. Argument1 = Local filename to save as
    4. e.g download_file("http://test.com/test.txt", "test.txt")
    5. */
    6. dll = "downloaddll.dll"
    7. global.DownloadFile = external_define(dll, "DownloadFile", dll_stdcall, ty_real, 2, ty_string, ty_string);
    8. return external_call(global.DownloadFile, string(argument0), argument1);
    9. external_free(dll)



    #edit: Ich habe die Datei mal vom Webspace gelöscht und nochmal versucht die runterzuladen und selbst wenn die Datei garnichtmehr auf dem Websapce exestiert wird sie noch heruntergeladen!
    Selbstverständlich noch mit falschem Inhalt..

    #edit2: Ok gut, etwas bin ich schon weitergekommen.
    Der Fehler lag dadrin, dass ich das "www" vergessen hatte. Jetzt läd er es wieder normal herunter.
    Jedoch lasse ich mal die frage offen, denn ich weiß immernochnicht woher er die andere Datei holt mit den falschen Daten, wenn ich das www weglassen. Ich habe nachwievor soeine Datei nicht gefunden.

    Ich hoffe mir kann wer weiterhelfen!

    Mit freundlichem Gruß,
    icqgamer

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „icqgamer“ ()

    hihi

    Dein Problem ist weder der Webspace noch die DLL. Es ist caching. Um Traffic zu sparen, wird clientseitig gechecked, ob das dokument schon mal angefordert wurde. Ist dies der fall, wird eine lokale Kopie, aus der Cache genutzt.
    Weil du www davor gesetzt hast, dachte der Client, dass jetzt die rede von einem anderen Dokument ist, welches noch nicht in der Cache ist.

    Du kannst Serverseitig den Client allerdings dazu zwingen, das caching sein zu lassen. Ich habe es nicht ausprobiert, aber ein

    Quellcode

    1. Cache-Control: no-cache
    im httpheader sollte die nötige Abhilfe bringen.

    MfG SDX
    Hallo SDX, danke für deine Antwort.
    Sie hat mir schon sehr weitergeholfen und bei mir für Klarheit gesorgt.
    Ich habe erstmal die Mozilla Firefox Cache gelöscht ( Ich hoffe das meintest du )

    Und mal ein paar dumme Fragen am Rande:
    Meintest du mit httpheader eine Datei auf meinem Webspace?
    Wie kann ich Cache Dateien anzeigen lassen / Wo finde ich sie?
    Kann ich sie im Webspace selber auch anzeigen alssen, oder befinden sie sich auf meinem PC?

    PS: Verdammt, warum gibt es jetzt keinen Thanks Button :rolleyes:

    Mit freundlichem Gruß
    icqgamer
    Die Firefox cache zu löschen nützt ja nichts, da es die von Firefox ist ;)

    Die cache ist generell eine Angelegenheit des Clienten, der Server hat damit wenig am Hut. Das einzige was dieser machen kann, ist, dem Clienten zu raten, caching zu nutzen / nicht zu nutzen. Dies geschieht im HTTP Header, ein teil des HTTP Protokolls. Wenn deine Dateien von PHP behandelt werden, ist das alles kein Problem. Mit php kann man einfach den HTTPHeader manipulieren. Einfach

    Quellcode

    1. header("Cache-Control: no-cache");
    ganz an den Anfang deines Dokumentes setzten, und dem Clienten wird geraten, nicht zu cachen.

    Wenn du nicht PHP über deine Dateien auf dem Webspace laufen lässt, hast du zwei möglichkeiten. Entweder du zwingst den Webserver dazu, PHP auch auf .ini Dateien los zu lassen, oder du setzt Apache dazu, den header zu manipulieren. Beides wird mit der .htaccess Datei gemacht. Dies ist eine Datei, die einfach im selben Verzeichnis, oder einem übergeordnetem liegt, und von dort aus ihr Werk verrichtet. Ich würde die zweite Lösung vorschlagen.

    Wie in diesem Artikel sehr gut beschreiben macht dieses kleines Stückle code eigentlich alles klar

    Quellcode

    1. <FilesMatch "\.(ini)$">FileETag None
    2. <IfModule mod_headers.c>
    3. Header unset ETag
    4. Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
    5. Header set Pragma "no-cache"
    6. Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
    7. </IfModule> </FilesMatch>


    Ich würde dir empfehlen, dich generell mit dem Thema HTTP Header und .htaccess auseinander zu setzten. Ist nicht so schwer und man braucht es öfter als man denkt.

    MfG SDX
    Hallo SDX,

    ersteinmal vielen Dank für deine Hilfe.
    Da ich nicht so PHP / HTML erfahren bin nochmal eine Frage:
    Also ich blick da jetzt nicht 100%ig durch, gibt es eine Datei in meinem Webspace, wo ich das mit der Cache reinschreiben muss? ( index.php o.Ä. )
    Oder muss ich das irgendwie anders einstellen oder vielleich eine neue Datei erstellen, die ich da irgendwie hochlade?
    Also ich benutze eine bplaced.net Seite und für die Webspace Verwaltung FileZilla
    .htaccess ist eine Datei, die vom Webserver (Apache) gelesen wird, und ausnahmen zur Standard-Konfiguration des Webservers enthält. Zb ist es Standard, dass Caching empfohlen wird.
    Eine .htaccess legt man in den gleichen oder in einen Übergeordneten Ordner, auf den er Auswirkungen haben soll.

    Ich habe mal eine erstellt und hochgeladen. In folge meinen äußerst komplexen Berechnungen, musst die die Datei nur aus der Zip raus nehmen und hochladen. Ich habe es allerdings nicht ausprobiert, daher beleibt es eine wage These.

    MfG SDX
    Dateien
    • htaccess.zip

      (308 Byte, 100 mal heruntergeladen, zuletzt: )