Register_Global=Off

Begonnen von Breaker, 05 März 2006, 18:59:12

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Breaker

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
Linux ist wie guter Sex, man kann es beschreiben oder drüber reden,
man weiß erst was es bedeutet, wenn man es erlebt hat.

NeMeSiSX2LC

Gilt wohl bloss für Nuke modul MX Modul haben das prob nicht ;)
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

jubilee

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

Breaker

Ok, ich hab mal ein Hinweis drunter gemacht ;)
Linux ist wie guter Sex, man kann es beschreiben oder drüber reden,
man weiß erst was es bedeutet, wenn man es erlebt hat.

jubilee

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

Andi

schön´s Grüssle, Andi