Nach Backupeinspielung kein Zugriff aufs Backend möglich, aber nur bei Nginx

  • Joomla Version
    5.4.6
    PHP Version
    PHP 8.3.x
    Hoster
    Netcup

    Hallo an alle hier,

    ich bin neu hier, aber nicht bei Joomla. Da bin ich seit Version 1.5 dabei und bis dato immer alles sicher gelaufen. Nur leider jetzt nicht mehr.

    ich habe ein Problem, das nur bei einen Server auftritt, der Nginx verwendet. Bei anderen Servern (vermutlich Apache) tritt das Problem nicht auf. Aber der Reihe nach:

    Meine Website war leider Opfer des JCE-Hacks. Dummerweise habe ich vergessen, dass ich bei dieser Seite auch den JCE nutze. Bei meinen anderen Webseiten habe ich den JCE auf die neueste Version upgedatet. Sie waren nicht vom Hack betroffen.

    Als ich ich die Website aufrief und auf einer dubiosen Site weitergeleitet wurde, war mir klar: Jetzt heißt es handeln. Ich habe ein garantiert sauberes Backup eingespielt und dachte, jetzt ist Ruhe. Denkste.

    Ich wollte mich nach dem Zurückspielen sofort ins Backend einloggen und JCE aktualisieren. Geht nicht. Ich komme nicht ins Backend. Sobald ich die Daten eingebe, gibt es einen kurzen Loop, die Daten werden gelöscht und das war es.

    Ich bin aber noch bei anderen Providern Kunde. Also die Website unter einer Subdomain dort eingespielt und siehe da, sie läuft einwandfrei. Ich habe dann alle notwendigen Updates vorgenommen und die Seite wieder mit Akeeba gepackt und wiederum bei Netcup eingespielt. Das selbe Problem.

    Die ganzen Tipps wie Browsercache löschen, Einträge in der Configuration.php bringen nichts. Die Datei hat keine relevanten Einträge und das Problem tritt bei allen Browsern auf.

    Außerdem habe ich die Seite nur zurückgespielt und nichts im Controllpanel des Poviders geändert.

    Ich habe als Test, ob auf die Datenbank zugegriffen wird, einfach erfundene Daten in die Maske eingegeben. Resultat: Es kommt keine orange Fehlermeldung über die falschen Daten. Daher gibt es keine Datenbankabfrage auf Plausibilität, die eingegebenen Daten werden nur gelöscht

    Kann es sein, dass All Ink Apache-Server betreibt? Ich hatte bisher nie Probleme mit Joomla-Webseiten unter Apache.

    Netcup schweigt über das Problem bis jetzt. Ich wollte mit meinem Post die Expertinnen und Experten hier fragen, ob ein solches Problem wie meins bekannt ist?

    Ich habe kein Problem, die Domain zu All Ink zu transferieren und dort die Seite zu betreiben.

    Vielen Dank schon mal für die Antworten

    Gruß Lars

  • Ich komme nicht ins Backend. Sobald ich die Daten eingebe, gibt es einen kurzen Loop, die Daten werden gelöscht und das war es.

    Ein Login-Loop wird typischerweise dann ausgelöst, wenn in der configuration.php bei $cookie_domain etwas eingetragen ist.
    Dann einfach leer lassen und auch bei $live_site einen möglichen Eintrag auf jeden Fall entfernen. Ansonsten sind Probleme vorprogrammiert.

    Viele Grüße!
    JoomlaWunder

  • Hi Lars,

    willkommen im Forum.

    Meldet die Browser Konsole was? Rechtsklick -> Untersuchen oder F12.
    Wie schaut denn deine configuration.php aus, wenn der Login nicht möglich ist?

    public $cookie_domain = ''; -> leer ?
    public $cookie_path = ''; -> leer?
    public $live_site = ''; -> leer?

    public $session_handler = 'database'; -> auf database setzen.
    ggf. die #__session Tabelle mal checken/leeren.<

    oder mal mit
    public $session_handler = 'filesystem';
    probieren.

    Oder testweise mal force_ssl auf 0 statt 2.

    Gruß

    Pascal

  • Ein Login-Loop wird typischerweise dann ausgelöst, wenn in der configuration.php bei $cookie_domain etwas eingetragen ist.
    Dann einfach leer lassen und auch bei $live_site einen möglichen Eintrag auf jeden Fall entfernen. Ansonsten sind Probleme vorprogrammiert.

    Hallo JoomlaWunder,

    Danke Dir. Ich habe möglicherweise den "Loop" falsch verstanden. Manchmal arbeitet das Denkwerk bei der Hitze nicht so, wie es soll. Ich wollte damit ausdrücken, dass das Eingabeformular nach Eingabe der Daten und klicken auf Anmeldung sofort wieder in die Ausgangslage gelangt.

    Hi Pascal, vielen Dank für die Willkommensgrüße und ein dickes Lob an HTProtect. Die Komponente habe ich sofort auf meine anderen Webseiten installiert und sie funktioniert einwandfrei.

    Nun zu meinen Problem. Alle EInträge in der configuration.php, die auf "leer" stehen müssen, sind leer. Das Umstellen von database auf filesystem ändert nichts. Die Konsole bei Brave meldet für den Bruchteil einer Sekunde eine rote Meldung, die aber verschwindet und nicht stehen bleibt. Nur Vivaldi gab die Meldung aus, die unten im Screenshot steht. Wie schon gesagt: Bei anderen Hostern läuft die Seite. Es muss also an Netcup liegen. Mehrals eine eins zu eins Kopie bei unveränderten Servereinstellungen kann ich nicht einspielen.

  • Ich habe möglicherweise den "Loop" falsch verstanden. Manchmal arbeitet das Denkwerk bei der Hitze nicht so, wie es soll. Ich wollte damit ausdrücken, dass das Eingabeformular nach Eingabe der Daten und klicken auf Anmeldung sofort wieder in die Ausgangslage gelangt.

    Genau das meinte ich auch. 😊

    Viele Grüße!
    JoomlaWunder

  • Ist dein Joomla denn auf die .htaccess angewiesen? Wenn ja, dann musst du dich darum kümmern, wie die Direktiven auf dem Nginx anzuwenden bzw. umzuwandeln sind! Das habe ich selber aber auch noch nie gemacht.

    Viele Grüße!
    JoomlaWunder

  • Ja ist es. Aber, ich möchte es noch einmal betonen: Ich habe ganz simpel eine saubere Kopie der Website eingespielt, die vorher auf dem selben Server "normal" lief. Hätte ich damals das Problem gehabt, dann hätte ich auch kein Backup erstellen können, denn dazu muss ich ins Backend.

    Mittlerweile wurde ich vom Support abgewatscht. Mein Anliegen sei kein Sicherheitsproblem, ich muss mich selbst und die Lösung kümmern. Mache ich. Andere Mütter haben auch schöne Töchter...

  • Hallo CurlY BracketS

    ich habe Neuigkeiten. Ich habe die htaccess probeweise deaktiviert und komme wieder ins Backend. Aber dafür kommt beim Aufrufen einer Unterseite Error 404. Schalte ich die htaccess wieder ein, funktioniert die Webseite wieder, aber nicht das Backend.

    Ich habe unten den Code meiner htaccess eingestellt. Vielleicht erkennt jemand von den Code-Expertinnen und -Experten den Fehler.

    Auf der Seite zu Joomla und Nginx https://docs.joomla.org/Nginx/de steht zwar, wie ich das einrichten soll, aber im Plesk ist dafür nicht vorgesehen. Zumal auch Netcup bei automatischen Joomla Installationen eine htaccess erstellt. Im Plesk ist der u.a Screenshot aktiviert. Nach meiner Logik gilt dann das, was für Apache gilt.

  • Ich habe die htaccess probeweise deaktiviert und komme wieder ins Backend. Aber dafür kommt beim Aufrufen einer Unterseite Error 404. Schalte ich die htaccess wieder ein, funktioniert die Webseite wieder, aber nicht das Backend.

    Wenn du sie deaktivierst, muss du auch im BE bei Konfiguration-Site 'URL-Rewrite nutzen' auf 'Nein' stellen.

    Gruß Elwood

  • Hallo an alle Entwarung,

    ich habe die Lösung gefunden ohne aufwändige Analyse: Ich habe einfach unter einer Subdomain ein frisches Joomla direkt über Netcup installiert und die frisch genierte htaccess in die betroffene Joomla-Installation kopiert und siehe da, es läuft.

    Danke alle alle für die Hilfe.chinese

    Gruß Lars

  • Ich habe einfach unter einer Subdomain ein frisches Joomla direkt über Netcup installiert und die frisch genierte htaccess in die betroffene Joomla-Installation kopiert und siehe da, es läuft.

    Was genau ist der Unterschied in der neuen .htaccess? Das #Options -Indexes ?
    Das interessiert sicherlich auch andere Netcup Kunden.
    Der Nginx ist übrigens als Proxy dem Apache nur vorgeschaltet. Sonst würde die .htaccess da keinen Unterschied machen.

    Viele Grüße!
    JoomlaWunder

  • Ich kopiere mal die die relevanten Zeilen hier rein.

    Edit: Ich wollte Euch die Lösung nicht vorenthalten. Ich arbeite ungern bei diesen Temperaturen am Rechner und ganz profan: Ich musste erst erst Kdiff zum Vergleich der beiden Dateien installieren. Brauchte ich bis jetzt nicht.

    Von Netcup erzeugte htaccess

    bisherige htaccess

    Apache Configuration
    RewriteEngine On
    RewriteCond %{THE_REQUEST} ^.*/index\.php
    RewriteRule ^(.*)index.php$ /$1 [R=301,L]
  • Apache Configuration
    RewriteEngine On
    RewriteCond %{THE_REQUEST} ^.*/index\.php
    RewriteRule ^(.*)index.php$ /$1 [R=301,L]

    Diese Zeilen stehen in der aktuellen htaccess.txt (Vorlage im Joomla-Root-Verzeichnis) auch gar nicht drin. Bin auch nicht sicher, ob das wirklich der Grund für den Login-Loop war. Aber Hauptsache der Login ist wieder möglich. :)

    Viele Grüße!
    JoomlaWunder