Christian Seiler: Sicherheitsrisiko mit GET, POST, etc.

Beitrag lesen

Hallo milky,

<?php
   $GLOBALS = array();

Das geht bei mir nicht, siehe: http://www.christian-seiler.de/temp/globals.php?a=b. Wenn man allerdings

foreach (array_keys ($GLOBALS) as $var) {
    unset ($GLOBALS[$var]);
  }

verwendet, geht es: http://www.christian-seiler.de/temp/globals.php?a=b&method=1

Aber Danke für den Denkansatz. :-)

Noch besser wäre es allerdings "php_option register_globals off" in
der .htaccess zu notieren.

Das würde ich nicht vorschlagen, da man sich in Scripten nicht darauf verlassen kann. Denn diese .htaccess-Option funktioniert nicht bei jedem Hoster (je nachdem, ob AllowOverride Options gesetzt ist) und man weiß ja vorher nicht, wo seine Scripte eingesetzt werden. Man kann sich in PHP-Scripten auf nichts von außen verlassen, deswegen sollte man z.B. <?php statt <? nehmen, magic_quotes_gpc-Deaktivier-Code einbauen und register_globals beachten, damit man wirklich sicher ist.

Viele Grüße,
Christian