Zur Info

Benutzeravatar
shadowcat
Administrator
Beiträge: 5347
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Zur Info

Beitrag von shadowcat »

Deine Fehlermeldung kommt nur, weil Du noch das Debug-Script benutzt. Bau das alte wieder ein dann ist die weg.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
Morpheus
Beiträge: 1054
Registriert: Do 8. Aug 2013, 10:49
Kontaktdaten:

Re: Zur Info

Beitrag von Morpheus »

Mmmhhhh, stimmt ja :oops: :oops: :oops: :oops: :oops:

läuft jetzt :D
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen!
Benutzeravatar
shadowcat
Administrator
Beiträge: 5347
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Zur Info

Beitrag von shadowcat »

Supi. Dann schreib ich das mal ins Wiki. :D
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5347
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Zur Info

Beitrag von shadowcat »

My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5347
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Zur Info

Beitrag von shadowcat »

Jetzt kann ich doch tatsächlich den CSRF-Fehler auf einem 1und1-Server reproduzieren! Vielleicht komm ich jetzt endlich dahinter.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
Morpheus
Beiträge: 1054
Registriert: Do 8. Aug 2013, 10:49
Kontaktdaten:

Re: Zur Info

Beitrag von Morpheus »

Da bin ich ja mal erleichtert ;)
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen!
Benutzeravatar
shadowcat
Administrator
Beiträge: 5347
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Zur Info

Beitrag von shadowcat »

Also ich nicht. :D
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
Morpheus
Beiträge: 1054
Registriert: Do 8. Aug 2013, 10:49
Kontaktdaten:

Re: Zur Info

Beitrag von Morpheus »

Code: Alles auswählen

Also ich nicht. :D
Denk ich mir :roll:

Hast Du denn schon eine :idea:
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen!
Benutzeravatar
shadowcat
Administrator
Beiträge: 5347
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Zur Info

Beitrag von shadowcat »

Hatte noch keine Zeit dafür.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5347
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Zur Info

Beitrag von shadowcat »

Ich vermute, die NAS und 1&1 haben das gleiche Problem. Folgender Hintergrund: BC prüft bei allen Anfragen, ob sich der aufgerufene Pfad innerhalb des Backends befindet. Wenn ja, werden bestimmte Aktionen durchgeführt. Die Überprüfung erfolgt gegen den vollständigen Pfad.

Bei 1&1 ergibt sich als vollständiger Pfad aus $_SERVER['SCRIPT_FILENAME'] etwas wie -> /kunden/homepages/XX/mehrhier/...
Der Pfad, mit dem verglichen wird, stammt aus der Konstanten CAT_ADMIN_PATH, welche wiederum aus CAT_PATH und CAT_BACKEND_PATH zusammengesetzt ist. Beide findet man in der config.php. Bei 1&1 ergibt das nunmehr -> /homepages/XX/mehrhier/...
Es fehlt also das /kunden/ am Anfang.

Wie kommt es zu dem Unterschied? Nun, $_SERVER ist eine Servervariable, die der Webserver setzt. CAT_PATH wird aus der PHP-Funktion dirname() heraus gesetzt, verwendet also Dateisystemfunktionen. Das sind zwei unterschiedliche Quellen, die daher auch unterschiedliche Ergebnisse liefern können.

In der Folge erkennt BC nun nicht, daß sich der Pfad im Backend-Bereich befindet, und kann die notwendigen Aktionen nicht ausführen. Nun denkt man sich, na dann hole ich das eben in dem AJAX-Script nach, also dort, wo der CSRF-Fehler auftaucht. Das geht aber nicht. Hat was mit Henne-Ei zu tun. ;)

UND WAS NUN?

Die Lösung besteht darin, den Pfad, der in $_SERVER steht, in die config.php zu schreiben.

SUCHEN

Code: Alles auswählen

define('CAT_PATH', dirname(__FILE__));
ERSETZEN DURCH

Code: Alles auswählen

define('CAT_PATH', '/kunden/homepages/xx/whatever/...');
Bitte ausprobieren und Ergebnis mitteilen. :)
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Antworten