Hilfe zu Register Globals
Bei Register Globals handelt es sich um ein sicherheitskritisches Feature von PHP, welches aktiviert das Überschreiben von
Variablen von ausserhalb (z.B. per GET Parameter in der URL) zulässt. Leider ist dieses Feature bei den meisten Webservern
aktiviert.
Das Expblog benötigt zum einwandfreien Betrieb deaktiviertes Register Globals. Ohne diese Deaktivierung ist der Betrieb des
Expblog's leider nicht möglich. Sofern Ihr Webspace dieses nicht in der Grundkonfiguration zur Verfügung stellt, haben Sie
mehrere Möglichkeiten dieses zu ändern. Allerdings ist zu beachten, dass nicht alle Webhoster Ihren Kunden erlauben diese
Einstellung zu verändern. Im Zweifelsfall sollte der Support des Webhosters zu Rate gezogen werden.
Wichtig:
- Die typische Fehlermeldung bei aktiviertem Register Globals ist Warning: "Illegal offset type in ../blog/admin/header.php on line..." beim Aufruf des ACP's.
- Die nachfolgenden Änderungen wirken sich ausschliesslich auf das Blogverzeichnis aus.
Möglichkeit 1 : Die .htaccess Datei
Dieses ist die gängigste Methode um Register Globals zu deaktivieren und sollte daher bevorzugt werden. Bitte beachten Sie
das einige Serverkonfigurationen die .htaccess Datei periodisch einlesen. Haben Sie daher ein wenig Geduld falls die Änderung
nicht unmittelbar greift.
Ändern Sie in der Datei .htaccess (liegt im Hauptverzeichnis des Blogs) folgenden Eintrag:
#php_value register_globals 0
in
php_value register_globals 0
oder
php_value register_globals off
oder
php_flag register_globals 0
oder
php_flag register_globals off
Hier sind, abhängig von der Serverkonfiguration, mehrere Versionen möglich. Testen Sie ggf. alle durch!
Loggen Sie sich danach neu in den Administrationsbereich ein. Sollte die Fehlermeldung Warning: "Illegal offset type in
../blog/admin/header.php on line..." verschwunden sein, war die Änderung erfolgreich.
Möglichkeit 2 : php.ini im Blogverzeichnis
Wenn über die Codeänderung in der Datei .htaccess Register Globals nicht deaktiviert werden konnte, gibt es weitere
Möglichkeiten Register Globals zu deaktiveren:
Erstellen Sie eine Datei mit dem Namen php.ini und folgendem Inhalt:
register_globals=off
Dabei gilt es zu beachten, dass manche Server anders mit der php.ini Datei umgehen: Ggf. muss die Datei in jeden
Ordner kopiert werden der Skripte beinhaltet, die ausgeschaltete Register Globals brauchen. In anderen Fällen reicht es
die Datei nur in das Hauptverzeichnis des Webspaces hochzuladen.
Möglichkeit 3 : ini_set() (nur bis Expblog 0.4.5 möglich)
Über den PHP-Befehl
ini_set("register_globals","off");
kann ebenfalls versucht werden, Register Globals auszuschalten. Der Befehl sollte am besten in die Datei pre_header.php
(liegt im include Ordner) und vor allem in die Datei header.php (liegt im admin Ordner) eingefügt werden.
Ändern Sie dazu folgende Zeile in der Datei pre_header.php
include "admin/classes/rss.class.php";
in
include "admin/classes/rss.class.php";
//____________________________________________________________________________________________
//
// Register Globals ausschalten
//____________________________________________________________________________________________
ini_set("register_globals","off");
um.
Und ändern Sie folgende Zeile in der Datei pre_header.php
error_reporting(E_ALL);
in
error_reporting(E_ALL);
// Register Globals ausschalten
ini_set("register_globals","off");
um

