====== CSRF Fehlermeldung in Backend -> Addons ====== ===== Fehlerbild ===== Im Backend ist das Verwalten von Addons nicht möglich. Es erscheint ein Dialog mit folgender Meldung: Uncaught AJAX Error.
Notice: Undefined index: csrf in /path/to/blackcat/backend/addons/ajax_get_details.php on line 233
[...]
===== Lösung ===== Sehr wahrscheinlich unterscheidet sich der Pfad in ''$_SERVER'' (wird vom Webserver gesetzt) von dem in ''dirname()''. (Erklärung siehe unten.) In diesem Fall hilft es, den Pfad in der ''config.php'' auf den korrekten Pfad zu setzen. define('CAT_PATH', dirname(__FILE__)); ändern in (Beispiel, Pfad entsprechend anpassen!) define('CAT_PATH', '/path/to/blackcat'); ==== Forum ==== http://forum.blackcat-cms.org/viewtopic.php?f=13&t=189#p1101 ==== Pathtester ==== {{:faq:errors:pathtest.zip|}} Enthaltene Datei in das BlackCat-Installationsverzeichnis entpacken (da wo ''config.php'' und ''index.php'' liegen) und im Browser aufrufen. Meldet [OK] wenn die Pfade übereinstimmen, andernfalls wird die notwendige Änderung angezeigt. ==== Unterschied $_SERVER und dirname() ==== Aus einem Script heraus kann man mit der Funktion ''dirname(__FILE__)'' das aktuelle Arbeitsverzeichnis ermitteln. Das funktioniert in etwa so wie ''pwd'' unter Linux. BlackCat CMS verwendet daher diese Methode, um das lokale Verzeichnis zu ermitteln, in dem die ''config.php'' liegt. Das ist das Installationsverzeichnis des CMS und damit die Basis für alle Aktionen. Der Webserver befüllt auf Basis seiner Konfigurationseinstellungen das ''$_SERVER''-Array. Das ist eine Liste von Variablen, die Informationen über die Serverumgebung beinhalten. Dazu gehört auch der Aufrufpfad des aktuell ausgeführten Scriptes. Im Gegensatz zu ''dirname()'' (oder ''pwd'') sind die Pfadangaben in ''$_SERVER'' nicht absolut, sondern werden von den Konfigurationseinstellungen beeinflußt. So kann es vorkommen, daß die beiden Pfade, die eigentlich gleich sein sollten, unterschiedlich sind. Die einzige Stelle, an der sich das auswirkt, ist unseres Wissens eben die hier beschriebene. Weitere Informationen: http://blog.eye48.com/post/17154778683/symlinks-php-realpath-lesson-learned (Englisch)