Ein gutes und ein gesundes neues Jahr,
ich habe jetzt verschieden Lösungsansätze mit POST, Cookie und GET ausprobiert.
Da eine zugriffgeschützte Seite bei Login einen Session-Cookie-Inhalt (ngsession) für "Nur sichere Verbindungen mit derselben Website" erstellt, kann keine Session-Abfrage für den Inhalt bei einer ungeschützten Seite durchgeführt werden, da diese Seite einen Session-Cookie-Inhalt für "Nur Verbindungen mit derselben Website" benötigt oder eben auch bei einer ungeschützten Seite bei Login Session-Cookie-Inhalt für "Nur sichere Verbindungen mit derselben Website" erzeugt, die eben auch nur über eine zugriffgeschützte Seite abgefragt werden kann.
Bei $_SESSION wird hier also der Session-Cookie-Inhalt im "ngsession" für "Nur sichere Verbindungen mit derselben Website" erstellt und nicht in der PHP-Session (PHPSESSID).
Ich hoffe Ihr konntet mit bis hierhin jetzt folgen.
Folgende Lösungswege funktionieren nach eigenen Tests:
- $_SESSION nicht in "ngsession", sondern im "PHPSESSID" erzeugen, die man dann bei zugriffgeschützte Seiten und bei ungeschützte Seiten den Inhalt abfragen kann. Man kann den Inhalt der $_SESSION im Session-Cookie auch als normalen $_Cookie mit Cookie-Name "PHPSESSID" abrufen und ändern. Wichtig ist hierbei jedoch, dass bei POST zuerst beim Login ein ungeschützte Seite aufgerufen wird, da der Inhalt dann erst mit POST weitergeben wird.
- Cookie-Name "PHPSESSID"- Lösung oder eigenen Cookie ($_Cookie) mit beliebigen Namen setzen, auslesen.
- Die GET-Methode wie es "Julchen" gemacht hat verwenden, ist jedoch sehr aufwendig es aus jeder Ausgangslage (Seiten) zu integrieren, so das keine Hintertür entsteht.
Fazit: Unterschied der gesetzten $_SESSION für "Nur sichere Verbindungen mit derselben Website" und "Nur Verbindungen mit derselben Website" beachten, da hierbei die $_SESSION unterschiedlich entweder in "ngsession" oder in "PHPSESSID" eingetragen wird!
Muss auch so sein für geschützte Seiten, sonst macht eine geschützte Seite auch keinen Sinn.
Hoffe ihr konntet mir folgen.
Tipp: Wenn man vor den geschützten Ordner einen ungeschützten Ordner (Unterseite) für erste Loginaufruf (z.B. mit Weiter-Button zur ungeschützte Seite) verwendet, dann klappt das auch ohne Problem mit den setzen Der $_SESSION oder $_Cookie. Den Inhalt kann man mit Variablen dann zwischen ungeschützte Seiten und geschützte Seiten mit auslesen der Cookies übertragen. Das geht ebenfall nach eigenen Tests ohne Probleme.
Wichtig für die Sicherheit jedoch: Verwendet oder überträgt auf gar keinen Fall die verschlüsselten Eintrag aus der "ngsession", das wäre eine Einladung für Hacker!
Mit freundlichen Grüßen
Thomas
Web To Date seit 2004, Siquando Web 12, Pro Web 9, Web Client
This entry has already been edited