Seite 1 von 1

Geschützter Bereich funktioniert nicht bei aktiviertem AMR

Verfasst: Di 13. Okt 2015, 19:41
von HenrykLauterbach
Hallo in die Runde,

bin gerade über ein interessantes Phänomen gestolpert. Irgendwie schein bei aktiviertem AMR Contenido aufgrund der Umschreibung die AUTH-Daten eines angemeldeten Frontend-Users zu verlieren. Das Einloggen funktioniert, die geschützten Seiten werden ebenfalls im Navibaum angezeigt. Will der Nutzer jedoch einen dieser Links bemühen wird er auf die LoginError-Seite weitergeleitet. Wird das AMR abgeschaltet funktioniert der Geschützte Bereich tadellos.
Hat jemand eine Idee?

Re: Geschützter Bereich funktioniert nicht bei aktiviertem A

Verfasst: Mo 14. Nov 2016, 19:14
von Freddy
Ich habe genau das gleiche Problem. Gibt es dafür schon eine Lösung? Bzw. hat jemand eine Idee woran es liegen kann?

Re: Geschützter Bereich funktioniert nicht bei aktiviertem A

Verfasst: Mo 14. Nov 2016, 22:01
von homtata
Ja, das hatten wir an verschiedenen Ecken schon mehrfach, es kann mehrere Ursachen haben.

a) Das Login-Modul-Template sollte um ein hidden-Feld ergänzt werden, siehe Thread:
http://forum.contenido.org/viewtopic.php?f=98&t=36482

b) FALLS Contenido so installiert ist, dass es über www.root.de/cms und www.root.de/contenido aufzurufen ist, dann müssen für die Session Pfade angepasst werden, schaust du hier - du musst je nach Contenido-Version den Code anpassen, da der sich in den letzten Versionen stark verändert hat. Es geht um die Pfadangaben wie im Thread gezeigt:
http://forum.contenido.org/viewtopic.php?f=98&t=36725

c) An der Sessiondatei musst man NIX ändern, WENN der Frontendpfad direkt auf /cms routet, so dass die Aufrufe ohne AMR so wären : www.root.de/front_content.php. Contenido wäre dann z.B. über eine Subdomain aufzurufen, die auf /contenido zeigt. Dies ist nach Aussage von 4fb inzwischen die eigentlich als Standard gedachte Variante für den Einsatz von Contenido (und AMR). In allen anderen Fällen ist b) anzuwenden.

LG

Re: Geschützter Bereich funktioniert nicht bei aktiviertem A

Verfasst: Di 15. Nov 2016, 08:20
von Freddy
Vielen Dank für die wertvollen Tips. Jetzt funktioniert es.
Ich habe das Login-Modul-Template um das hidden-Feld ergänzt:

Code: Alles auswählen

<input type="hidden" name="return" value="1" />
und den Code in der contenido/classes/class.session.php ab Zeile 89 ersetzt:
Alt:

Code: Alles auswählen

            if (false !== $start) {
                $path = substr($path, $start);
                session_set_cookie_params(0, $path, null, $cfg['secure'], true);
            } else {
                // fall back to entire domain if no path can be computed
                session_set_cookie_params(0, '/', null, $cfg['secure'], true);
            }
Neu:

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, '/');
            }
Ich hoffe ich denke beim nächsten Update daran es wieder anzupassen.

Re: Geschützter Bereich funktioniert nicht bei aktiviertem A

Verfasst: Di 15. Nov 2016, 08:40
von homtata
Bleib sicherheitshalber bitte näher am Originalcode für die Session und ändere das in:

Code: Alles auswählen

            if (false !== $start) {
                $path = substr($path, $start);
                session_set_cookie_params(0, '/', null, $cfg['secure'], true);
            } else {
                // fall back to entire domain if no path can be computed
                session_set_cookie_params(0, '/', null, $cfg['secure'], true);
            }
Alternativ (und dann musst du nicht weiter dran denken) kannst du die Domain-/Pfadzuordnungen grundsätzlich ändern, wie oben beschrieben.

Re: Geschützter Bereich funktioniert nicht bei aktiviertem A

Verfasst: Di 15. Nov 2016, 11:25
von Freddy
Ok habe den Code geändert.
Um sicher zu gehen das ich es richtig verstehe. Ich soll den kompletten Inhalt von Ordner cms direkt in root-Verzeichnis verschieben. Und auf den Ordner contenido dann eine Subdomain anlegen?
root - ganzer Inhalt von cms-Ordner
- contenido-Ordner (Subdomain: contenido.meinedomain.de)
- data-Ordner

Re: Geschützter Bereich funktioniert nicht bei aktiviertem A

Verfasst: Di 15. Nov 2016, 12:00
von homtata
Nein nein, VERSCHIEBEN sollst du nix... du sollst einfach die Zuordnung der Domain zum Ordner ändern.
Ziemlich sicher zeigt deine Domain bisher auf den root, aber nicht auf /cms - das könntest du ändern. Dann muss die htaccess vom root nach /cms verschoben werden und das AMR im Backend angepasst werden, was den Pfad der htaccess betrifft.
Dann legst du eine Subdomain an, contenido.domain.de und leitest diese auf /contenido um - der Login fürs Backend findet dann später über die Subdomain statt.
Dann sind noch im Mandant die Frontendpfade ggf. anzupassen, ebenso in /data die config.php für den Backendpfad.

Danach müsste das eigentlich korrekt laufen, auch ohne die Anpassungen in der Session-Geschichte.

LG

Re: Geschützter Bereich funktioniert nicht bei aktiviertem A

Verfasst: Do 8. Dez 2016, 08:51
von Freddy
Gibt es eigentlich irgendwo eine gute Installationsanleitung die erklärt wie man Contenido sinnvoller Weise installiert??
In https://docs.contenido.org/display/COND ... sanleitung wird diese Emfehlung die Domain direkt auf den Ordner cms zu leiten nicht erwähnt.

Re: Geschützter Bereich funktioniert nicht bei aktiviertem A

Verfasst: Mo 12. Nov 2018, 10:40
von Faar
Freddy hat geschrieben:
Do 8. Dez 2016, 08:51
In https://docs.contenido.org/display/COND ... sanleitung wird diese Emfehlung die Domain direkt auf den Ordner cms zu leiten nicht erwähnt.
Das ist auch durchaus sinnvoll, wenn man die Möglichkeit hat, die Domains selbst zu verwalten und Subdomains zu erstellen.
Denn "/cms" ist nichts weiter als das Verzeichnis für den ersten Mandanten und Contenido kann mehrere Mandanten nebeneinander haben.
Der Mandant ist auch das Frontend-System, das für die Seitenausgabe zuständig ist.
Hier sollte dann auch die htaccess Datei für das AMR liegen.

Auch für die Sicherheit bringt es einen Vorteil, wenn das Backend in /contenido nur über eine andere Domain oder Subdomain erreichbar ist.
So laufen automatische Hackerbots auf domain.tld/contenido stets ins Leere, weil es dieses Verzeichnis an der Stelle gar nicht gibt.