_GET,_POST,register_globals
Sziasztok!
Van egy webes alkalmazásom, amit annak idején még a _POST és a _GET használata nélkül készítettem el. Most úgy alakult, hogy hirtelen másik szerverre kell költözni, ahol 5-ös PHP van az eddigi 4-es sorozatú helyett, és úgy néz ki, ez gondot fog okozni a register_globals miatt. Mivel elég hirtelen kell költözni, és az összes script változóit átírogatni nem fél perces munka, arra gondoltam, hogy átmenetileg azt csinálom, hogy minden script elejére include-olom a következő kis kódrészletet:Szerintetek ez átmenetileg, míg szépen átírom a kódokat jó megoldás, vagy van valami hátulütője, amire esetleg nem gondoltam?
■ Van egy webes alkalmazásom, amit annak idején még a _POST és a _GET használata nélkül készítettem el. Most úgy alakult, hogy hirtelen másik szerverre kell költözni, ahol 5-ös PHP van az eddigi 4-es sorozatú helyett, és úgy néz ki, ez gondot fog okozni a register_globals miatt. Mivel elég hirtelen kell költözni, és az összes script változóit átírogatni nem fél perces munka, arra gondoltam, hogy átmenetileg azt csinálom, hogy minden script elejére include-olom a következő kis kódrészletet:
foreach($_GET as $key => $val)
{
eval('$'.$key.' = "'.$val.'";');
};
foreach($_POST as $key => $val)
{
eval('$'.$key.' = "'.$val.'";');
};
.htaccess, változó változók
2) minek eval? $$key=$val;
Maat
1) ha lehet, akkor igen (na,
2) igaz, köszönöm (egyébként az eval-nak van valami hátránya?)
> egyébként az eval-nak
ehhez mit szólsz?
http://valami.hu/oldalad.php?valami=1;phpinfo()
Maat
Szerintem semmi extra
eval - evil
Lehet az URL-be "-t is írni. ;)
Ahol csak lehet érdemes kerülni az eval-t. Általában biztonsági szemszögéből nézve is körültekintően kell bánni vele, ráadásul elég lassú jószág, ezért is érdemes kerülni.
Az eredeti hozzászólásra pedig:
extract($_GET); extract($_POST);
Felhő
Próbálgattam rávenni a
De a lassúság meggyőző, az extract meg még inkább :)
nem eléggé ;-)
http://felho/eval.php?foo=bar%22;phpinfo();$foo=%22bar
Felhő
Kipróbáltam, amit írtál,
bar";phpinfo();bar\";phpinfo();$foo=\"bar="bar
magic_quotes
Felhő
Aha, így már értem. Bár
hamis biztonságérzet
Felhő
import
@import_request_variables('GPC');
Attila