Spielplatz für Entwickler
Spielplatz für Entwickler Alles über Web 2.0 und Webdesign, Ajax, XHTML, Javascript, CSS und PHP/MySQL.

Artikel-Schlagworte: „register_globals“

Warum funktionieren meine Links nicht?

21. November 2008 in Php / Mysql | 1 Kommentar »

Etwas ältere PHP Scripte sind manchmal etwas unschön programmiert und verwenden ausschließlich globale Variablen. Das war sehr bequem, aber öffnet so manche Sicherheitslöcher. Denn alte PHP-Versionen übernehmen ohne Prüfung Variablen, die ihnen per POST oder aus der URL übergeben werden. Seit PHP 4.2 stehen diese Informationen nur noch in besonderen, superglobalen Arrays zur Verfügung.

Es ist dringend empfohlen, den Wert der Konfigurationsvariable register_globals auf off zu lassen. Wer dennoch ein altes Script auf einen Server mit deaktivierten globalen Variablen laufen lassen möchte, kann´s gerne mit dem nachfolgenden PHP Code versuchen. Es ist wichtig, dass dieser in allen PHP Dateien vor dem eigentlichen PHP Code eingebunden wird.

if( ! ini_get("register_globals") ) { // Aktiviert die globalen Variablen
  extract($_SESSION, EXTR_SKIP);
  extract($_GET, EXTR_SKIP);
  extract($_POST, EXTR_SKIP);
  extract($_COOKIE, EXTR_SKIP);
}

Mehr Infos zum Thema “Globale Variablen” gibt´s hier.

RSS Feed