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:


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

Anleitungen



Weitere Dokumente