Auf session zugreifen und auslesen

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Auf session zugreifen und auslesen

Beitrag von malsdgtac » Sa 17. Dez 2016, 20:27

Hallo,

Contenido 4.9.12 und PHP7

Irgendwie kapier ist es nicht, ich möchte für eine Merkliste auf $_SESSION zugreifen (schreiben und lesen) - aber irgendwie funktioniert es nicht. Mit Contenido 4.8.20 war das noch kein Problem. Was übersehe ich?

Vielen Dank für Eure Hilfe.

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Auf session zugreifen und auslesen

Beitrag von homtata » Sa 17. Dez 2016, 23:09

Da mag sich einiges geändert haben. Guggst du hier:

http://forum.contenido.org/viewtopic.ph ... on#p169022
(da gings um Cookies, aber es stehen auch ein paar Takte zum Session-Handling drin)

sowie hier in der Api-Doku, wie das mit dem register funktioniert, um globale Session-Variablen zu kriegen:
http://api.contenido.org/latest/class-c ... #_register

LG Viktor

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Auf session zugreifen und auslesen

Beitrag von rethus » Mo 19. Dez 2016, 12:57

Was genau hast du bis jetzt versucht?
Du musst da eine genauere Fehlerbeschreibung liefern...
irgendwie funktioniert es nicht. Mit Contenido 4.8.20 war das noch kein Problem :?: :?: :?:
Mal ehrlich:
Welche Note (1-6) für Informationsgehalt würdest du deinem ersten Posting hier in dem Thread geben ?
(Oben bei deiner Fehlerbeschreibung fehlt nur noch eine Aussage um ein Klassiker zu sein: "Ich hab nichts gemacht!" :lol: )
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Re: Auf session zugreifen und auslesen

Beitrag von malsdgtac » Mo 19. Dez 2016, 13:10

Jaja, schon verstanden. Sorry.

Ich habe ein recht umfassendes Projekte von 4.8.20 auf 4.9 umgestellt - vorher auf einem Testaccount überprüft, gedacht es funktioniert alles - umgestellt und die Probleme sind immer größer geworden. In meinem Streß hat irgendwie gar nichts mehr funktioniert, da ist auch der Post entstanden. Ich habe jetzt meine Backups von 4.8.20 eingespielt, damit die Seite wieder läuft.

Ich werde das Projekt nun erst im Jänner wieder aufgreifen, dann werde ich es nochmals strukturiert angehen - schauen was ich schon probiert habe ;-) was genau der Code (vorher und nachher) war und einen informativeren Post erstellen ;-) Und ja, falls ich selber drauf komme, werde ich hier auch meine Lösung für andere posten.

Danke aber trotzdem für eure Antworten ;-)

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Auf session zugreifen und auslesen

Beitrag von rethus » Mo 19. Dez 2016, 17:17

smac hat geschrieben: In meinem Streß hat irgendwie gar nichts mehr funktioniert, da ist auch der Post entstanden. Ich habe jetzt meine Backups von 4.8.20 eingespielt, damit die Seite wieder läuft.
Ja, kennen wir alle. Davon kann sich keiner freisprechen.
Meld dich im Januar einfach wieder, und wir stehen das gemeinsam durch :wink:
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Re: Auf session zugreifen und auslesen

Beitrag von malsdgtac » Mo 30. Jan 2017, 17:54

Hallo,

ich habe mich gerade länger dem Thema gewidmet, untern Strich ist es ganz simple. Falls jemand anders es benötigt:

Sessionvariable setzen:

Code: Alles auswählen

$session = cRegistry::getSession();
$meinvariablenname = "meinvariablenwert";
$session->register('meinvariablenname');
Sessionvariable auslesen:

Code: Alles auswählen

$session = cRegistry::getSession();
echo $meinvariablenname;
Für den Fall dass man in der Variable ein Array speichern möchte, und noch nicht weiß ob diese Variable bereits vorhanden ist:
Sessionvariable setzen:

Code: Alles auswählen

$session = cRegistry::getSession();
if ($session->isRegistered('meinvariablenname')) {
    $meinvariablenname[] = "meinvariablenwert";
} else {
    $meinvariablenname = array("meinvariablenwert");
    $session->register('meinvariablenname');
}
Sessionvariable auslesen:

Code: Alles auswählen

$session = cRegistry::getSession();
print_r($meinvariablenname);

malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Re: Auf session zugreifen und auslesen

Beitrag von malsdgtac » Di 31. Jan 2017, 22:01

So - und falls es bei jemanden nicht und nicht funktionieren will (wie gerade schon wieder bei mir) - hilft wahrscheinlich der Thread weiter: http://forum.contenido.org/viewtopic.ph ... on#p170611

Dann funktioniert es auch ;-)

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Auf session zugreifen und auslesen

Beitrag von Faar » Mi 1. Feb 2017, 11:30

Lag es am $path ?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Re: Auf session zugreifen und auslesen

Beitrag von malsdgtac » Mi 1. Feb 2017, 13:32

Ja, es lag am $path.

Ist natürlich nicht so schön, da am Core umändern zu müssen.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Auf session zugreifen und auslesen

Beitrag von Faar » Mi 1. Feb 2017, 16:01

Interessant ist ja, dass in der PHP-Klasse von 4.9.0 noch als Pfad "/" eingetragen ist und in der Version 4.9.11 dieses $path.
http://api.contenido.org/con490/source- ... on.html#77
http://api.contenido.org/con4911/source ... on.html#89
Im letzteren steckt auch "http" direkt im Code eingetragen drin, das dürfte bei "https" Probleme bereiten.

Code: Alles auswählen

 79:             $start = strpos($url, '://');
 80:             if (false === $start) {
 81:                 $url = 'http://' . $url;
 82:                 $start = strpos($url, '://');
 83:             }
 84: 
 85:             // url of contenido folder with hostname
 86:             $path = substr($url, $start + 3);
 87: 
 88:             $start = strpos($path, '/');
Was spricht hier gegen http://php.net/manual/de/function.parse-url.php ? :?
Lustig ist in der Version 4.9.0 ja dieses hier:

Code: Alles auswählen

77:             $url = parse_url($url);
Da wurde das parse_url() zwar schon angedacht aber nicht ausprogrammiert.
Und daraus entstand dann dieses Konstrukt mit "http", strpos() und substr() ... :roll:
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: Auf session zugreifen und auslesen

Beitrag von frederic.schneider_4fb » Do 2. Feb 2017, 09:33

Wir haben das damals aus Sicherheitsgründen umgebaut. Ich kann deshalb nur davon abraten, das wieder umzustellen, auch wenn es für Eure Probleme "smarter" wirkt. Die Problematiken mit den Pfaden sollten in der aktuellen Version eigentlich behoben sein?!?
Frederic Schneider
Entwickler bei der four for business AG

malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Re: Auf session zugreifen und auslesen

Beitrag von malsdgtac » Do 2. Feb 2017, 10:35

Hallo frederic,

also in der Version 4.9.12 (nach einem Upgrade) hat das interne Sessionhandling nicht funktioniert. Erst mit der Änderung in der contenido/classes/class.session.php

Code: Alles auswählen

            if (false !== $start) {
                $path = substr($path, $start);
            session_set_cookie_params(0, '/');
            } else {
                // fall back to entire domain if no path can be computed
                session_set_cookie_params(0, '/');
            }
hat es funtkioniert.

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: Auf session zugreifen und auslesen

Beitrag von frederic.schneider_4fb » Do 2. Feb 2017, 11:55

Ich schaue mir das kommende Woche nochmal an (versprochen). Ich kenne die Problematik ja. Dachte aber, das wäre inzwischen zuverlässig behoben
Frederic Schneider
Entwickler bei der four for business AG

malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Re: Auf session zugreifen und auslesen

Beitrag von malsdgtac » Do 2. Feb 2017, 12:00

Find ich super! Danke

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Auf session zugreifen und auslesen

Beitrag von Faar » Do 2. Feb 2017, 15:04

frederic.schneider_4fb hat geschrieben:Wir haben das damals aus Sicherheitsgründen umgebaut. Ich kann deshalb nur davon abraten, das wieder umzustellen, ...
Und wie harmoniert das fest eingeschriebene http mit https ?
:wink:
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Antworten