Hallo,
gleich vorab: Ich habe vor 3 Tagen erst mit PHP angefangen also seid gnädig ;D Ich weiß, dass diese Fragen schon oft gestellt wurden aber dazu kursieren auch verschiedene Antworten im Netz. Jetzt zu meinen Fragen:
1. Ist es egal an welcher Stelle im PHP-Code ich eine Session starte ? Habe gelesen, dass es in der ersten Zeile gemacht werden muss oder dass sie vor allen echo ausgaben gestartet werden muss
2. Ich habe mehrere Funktionen in meinem PHP-Projekt(ist ein Loginsystem), indem ich bei einem geglücktem Login-Versuch eine neue Session erstelle. Muss ich jetzt in jeder Funktion in der Session-Spezifische Daten genutzt werden vorab einmal "session_start();" ausführen ? Habe bisher "bugs" bekommen wenn ich das nicht gemacht habe(ich wurde automatisch ausgeloggt wenn auf Unterseiten geprüft wurde ob die session gesetz wurde). Kommt mir aber komisch vor das jedesmal machen zu müssen
3. Wie gesagt erstelle ich bei einem erfolgreichen Login eine Session. Die ID dieser Session wird dann in einer MySQL-Tabelle gespeichert. Auf jeder Seite wird dann geprüft ob 1. Der User überhaupt eine offene Session hat und 2. Wenn er eine offene Session hat, wird die lokale PHPSESSID mit der Session-ID auf dem MySQL-Server verglichen. Sind sie unterschiedlich wird der Benutzer ausgeloggt. Vielleicht schwer zu beantworten, aber ist dieses System einigermaßen sicher ?
Danke für eure Antworten!
Grüße
gleich vorab: Ich habe vor 3 Tagen erst mit PHP angefangen also seid gnädig ;D Ich weiß, dass diese Fragen schon oft gestellt wurden aber dazu kursieren auch verschiedene Antworten im Netz. Jetzt zu meinen Fragen:
1. Ist es egal an welcher Stelle im PHP-Code ich eine Session starte ? Habe gelesen, dass es in der ersten Zeile gemacht werden muss oder dass sie vor allen echo ausgaben gestartet werden muss
2. Ich habe mehrere Funktionen in meinem PHP-Projekt(ist ein Loginsystem), indem ich bei einem geglücktem Login-Versuch eine neue Session erstelle. Muss ich jetzt in jeder Funktion in der Session-Spezifische Daten genutzt werden vorab einmal "session_start();" ausführen ? Habe bisher "bugs" bekommen wenn ich das nicht gemacht habe(ich wurde automatisch ausgeloggt wenn auf Unterseiten geprüft wurde ob die session gesetz wurde). Kommt mir aber komisch vor das jedesmal machen zu müssen
3. Wie gesagt erstelle ich bei einem erfolgreichen Login eine Session. Die ID dieser Session wird dann in einer MySQL-Tabelle gespeichert. Auf jeder Seite wird dann geprüft ob 1. Der User überhaupt eine offene Session hat und 2. Wenn er eine offene Session hat, wird die lokale PHPSESSID mit der Session-ID auf dem MySQL-Server verglichen. Sind sie unterschiedlich wird der Benutzer ausgeloggt. Vielleicht schwer zu beantworten, aber ist dieses System einigermaßen sicher ?
Danke für eure Antworten!
Grüße