ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / Vorschläge / Register-globals fix


Seite 1 von 1

bdominik schrieb am 30.04.2003 um 19:39 Uhr

BITTE NICHT EINBAUEN

Hallo Leute (ist eher an die Devs und die PHP-Könner ;) )
ich habe ein theoretische Lösung gefunden, wie man das THWB recht schnell, also ohne großem Zeitaufwand so umschreiben kann, dass
1. Das Board ohne Register-Globals läuft (tut es ja jetzt auch schon)
2. Ein großteil der dadurch entstehenden Sicherheitsleckts gestopft sind.

Dieser Vorschlag ist an die Devs gerichtet und nicht zum einbau in ein Board geeignet.

1. Man fügt in der header.inc.php ganz oben, oberhalb der include das ein:

$allvars = array(
'userid','threadid','postid','replyto','time','pagenum','action','pm','login_password','login_name',
'HTTP_GET_VARS','HTTP_POST_VARS','HTTP_COOKIE_VARS','boardid','words','searchfor','startsearch','selectedboards','page','highlight','post','submit'
);

while (list($key,$val) = @each($GLOBALS)) {
    
    if (!(in_array($key,$allvars))) {
    unset($$key);
}
}

2.

if( !empty($_REQUEST) )
    extract($_REQUEST);

durch

/**
if( !empty($_REQUEST) )
    extract($_REQUEST);
**/

ersetzen

3.

$GLOBALS = r_stripslashes($GLOBALS);

auskommentieren ('//');

Das ganze basiert auf einen einfachen Prinzip
Es werden alle Variablen gelöscht mit aussnahme dieser, die übergeben werden müßen. Dazu dient das Array ganz oben. Dort sind alle Variable aufgelistet, die per Parameter übergeben werden können. Diese Liste ist noch lange nicht vollstänig, es ging mir aber eher darum, eine Lösung aufzuzeigen.


Viele Grüße
TO

BITTE NICHT EINBAUEN

MrNase schrieb am 30.04.2003 um 19:42 Uhr

wow! Mein Einziger Kommentar ist wow! Ich hab zwar nicht alles 100% verstanden aber wenn dann ist es ne tolle Lösung!!

bdominik schrieb am 30.04.2003 um 19:49 Uhr

Naja, es war ja auch an die Devs gerichtet, um ihnen die Arbeit für ein Release zu ersparen.

MAGIX schrieb am 30.04.2003 um 20:35 Uhr

hm sollt das nicht lieber in einem Dev oder den HAckerstuff besprochen werden. Bevor jetzt doch Posts kommen. Ich habs eingebaut und nix geht mehr :D

bdominik schrieb am 30.04.2003 um 20:40 Uhr

warum? Was geht nicht? Die Forenübersicht sollte laufen!

SyntaxError schrieb am 30.04.2003 um 22:57 Uhr

Ich glaube, dass MAGIX nur "Ich habs eingebaut und nix geht mehr" zitiert hat.

MAGIX schrieb am 30.04.2003 um 23:11 Uhr

japp

MrNase schrieb am 30.04.2003 um 23:13 Uhr

diese "Erweiterung" nicht einbauen!!
[quote]Diese Liste ist noch lange nicht vollstänig, es ging mir aber eher darum, eine Lösung aufzuzeigen
[/quote]:) jetzt kann sich keiner mehr beschweren ;)


.... wer lesen kann >:(

Tendor schrieb am 02.05.2003 um 14:33 Uhr

bdominik postete
Naja, es war ja auch an die Devs gerichtet, um ihnen die Arbeit für ein Release zu ersparen.

gar keine so schlechte idee :)
allerdings nur für den übergang, es sollte aber auf keinen fall ein neues release ersetzen.

und ob sich dafür der aufwand lohnt...?

theDon schrieb am 02.05.2003 um 18:14 Uhr

hm, ich bin bald soweit, dass ich eine liste mit allen variablen hab, die über post und get geholt werden müssen. dann kann man bequem mit sed im ganzen script aus $var $_GET['var'] machen :D

Seite 1 von 1