pragmaMx Support Forum

pragmaMx => Individuelle Anpassungen => Thema gestartet von: Breaker am 05 März 2006, 18:59:12

Titel: Register_Global=Off
Beitrag von: Breaker am 05 März 2006, 18:59:12
Wenn Scripte einfach nicht laufen wollen, kann es daran liegen, das bei euren Server die Variable "Register_Global" auf "off" steht,
Dann könnt ihr dieses kleine Script direkt nach dem <? einfügen, dann sollte das Script laufen.


if(!empty($_GET)) { extract($_GET); }
else if(!empty($HTTP_GET_VARS)) { extract($HTTP_GET_VARS); }

if(!empty($_POST)) { extract($_POST); }
else if(!empty($HTTP_POST_VARS)) { extract($HTTP_POST_VARS); }

if(!empty($_COOKIE)) { extract($_COOKIE); }
else if(!empty($HTTP_COOKIE_VARS)) { extract($HTTP_COOKIE_VARS); }

if(!empty($_ENV)) { extract($_ENV); }
else if(!empty($HTTP_ENV_VARS)) { extract($HTTP_ENV_VARS); }

if(!empty($_SERVER)) { extract($_SERVER); }
else if(!empty($HTTP_SERVER_VARS)) { extract($HTTP_SERVER_VARS); }

if(!empty($_SESSION)) { extract($_SESSION); }
else if(!empty($HTTP_SESSION_VARS)) { extract($HTTP_SESSION_VARS); }

if(!empty($_FILES)) {
while(list($name, $value) = each($_FILES)) {
$$name = $value['tmp_name'];
}
} else if(!empty($HTTP_POST_FILES)) {
while(list($name, $value) = each($HTTP_POST_FILES)) {
$$name = $value['tmp_name'];
}
}



Das oben genannte Script sollte aus Sicherheitsgründen nicht unter Pragma angewandt werden
Titel: Re: Register_Global=Off
Beitrag von: NeMeSiSX2LC am 05 März 2006, 20:27:13
Gilt wohl bloss für Nuke modul MX Modul haben das prob nicht ;)
Titel: Re: Register_Global=Off
Beitrag von: jubilee am 06 März 2006, 09:27:48
Hallo !
Es könnten unter gewissen Umständen die
Sicherheitsfunktion von PragmaMx aufgehebelt werden.
PragmaMx filtert/überprüft die Variablen, bevor diese zur Verfügung gestellt werden.
Daher warne ich vor dem Einsatz dieses Scriptes unter PragmaMx.
Ganz davon abgesehen ist der Einsatz im PragmaMx
nicht notwendig, da wir eigene Routinen verwenden
um übergebene Variablen zur Verfügung zu stellen.

MfG
jubilee
Titel: Re: Register_Global=Off
Beitrag von: Breaker am 06 März 2006, 09:36:10
Ok, ich hab mal ein Hinweis drunter gemacht ;)
Titel: Re: Register_Global=Off
Beitrag von: jubilee am 06 März 2006, 09:44:52
Naja, generell ist es wichtig, das die übergebenen Variablen dann später im Script geprüft werden.
Egal wo Dein Tool zum Umgehen der Register_Globals verwendet wird, ist das unumgänglich. Das Register_Globals ist ja gerade eine Sicherheitsfunktion die Verhindern soll, das über gepostete Variablen
scriptinterne Variablen überschrieben werden. Wenn Du jetzt diesen Schutz aushebelst, musst Du dafür sorgen, das Du anders die Variablen auf unerwünschten Code überprüfst und das Du sicherstellst das die entsprechenden Scripte nicht direkt aufgerufen werden können
(Und zwar nicht mit
Zitatif (!eregi(modules.php, $_SERVER['PHP_SELF'])){
die();
}
und solchen Kasperkram. Das taugt nix ;)
)

MfG
jubilee
Titel: Re: Register_Global=Off
Beitrag von: Andi am 06 März 2006, 14:51:24
http://www.zend.com/zend/art/art-sweat4.php  ;)