Hello,
Und das heist genau? Bisher habe ich die Session einfach erstellt und frage dann zu gegebener Zeit ab, ob die SID in der URL mit der auf dem Server übereinstimmt.
Das musst Du gar nicht selber machen. Das macht das PHP-System für Dich schon ganz alleine.
Sven hat es doch in https://forum.selfhtml.org/?t=162274&m=1055971 schon recht ausführlich erklärt, wie der Mechanismus funktioniert.
Das Array $_SESSION wird für das jeweilige Script dann angelegt, wenn eine Session gestartet wurde. Vorher ist es nicht vorhanden. Wenn man es trotzdem benutzen würde (gemeint ist 'selber anlegen'), würde es beim Session-Start überschrieben werden.
Du musst also nur danach fragen "Ist das Session-Array da?" mit if(isset($_SESSION)) oder auch gleich danach fragen: Stehen die Variablen "User erkannt unter Nummer und angemeldet seit" zur Verfügung mit if( isset($_SERVER['usernummer'] and isset($_SESSION['logintime'])), dann kannst Du "hineinschauen" in die Variablen und feststellen, ob sie gültige Werte haben.
Wenn Du nun noch die aktuelle Session-ID und ggf. den letzten Requestzeitpunkt in der Datenbank ablegst, in der die Userdaten verwaltet werden, dann hast Du eine doppelte Kontrolle darüber, ob der User tatsächlich vorhanden _und_ angemeldet ist und kannst schnell überprüfen, wieviele User z.B. in den letzten fünf Minuten einen Request auf Deine Seiten durchgeführt haben und welche es sind.
Wenn die Sessiondatei zwar vorhanden ist und eine Session gestartet (ergo das Session-Array ist vorhanden), aber die notwendigen Variablen nicht da sind, dann ist die Session wahrscheinlich frisch und der Anmeldevorgang muss ggf. erst durchgeführt werden, wenn man das will. Dann kannst Du die Variablen anlegen und beim nächsten Request sollten sie automatisch (nach session_start() ) wieder zur Verfügung stehen.
Session hat aber grundsätzlich erstmal nichts mit "Anmelden" zu tun, sondern nur mit Wiedererkennen und Daten wieder zur Verfügung stellen.
Bei manchen kann man über shared Hosts noch die Sessiondateien der anderen User lesen oder sogar verändern. Man weiß davon aber nocb lange nicht, zu welcher Domain sie gehören.
Ich hoffe, ich habe dich nicht missverstanden: Das Game läuft auf dem Root von nem bekannten, der mir freundlicherweise für den Testlauf und für die Zeit der Programmierung Serverplatz zur verfügung stellt. Das ist also kein angemieteter Webspace, wenn Du das meintest.
Dann kannst Du erstens selber bestimmen (lassen), wer auf die Sessiondaten Zugriff haben könnte und außerdem besteht die Gefahr nicht, dass Euch Unbekannte Zugang zur Verwaltung des Servers oder Teilen davon haben.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)
