[ shockre @ 20.05.2004. 15:08 ] @
sto su u biti registered globals, kako ih iskljuciti, kako provjeriti jesu li iskljuceni? |
[ shockre @ 20.05.2004. 15:08 ] @
[ maxy` @ 20.05.2004. 16:11 ] @
u manualu pise slijedeca informacija:
[quote Tells whether or not to register the EGPCS (Environment, GET, POST, Cookie, Server) variables as global variables [/quote] ukratko, ako su register_globals upaljeni onda _ENV, _GET, _POST, i _COOKIE varijablama pristupas ovako Code: <?php $moj_id = $id; ?> umjesto Code: $moj_id = $_GET['id']; dakle, sve varijable pretvori u gornje navedeni format (najjednostavnije receno). no, register globals predstavljaju security problem stoga ih je bolje drzati na off. kako ih ugasiti? u php.ini nadji register_globals te umjesto "on" napisi "off" (bez navodnika) ili u .htaccess fileu dodaj: php_flag register_globals off ne mozes ih gasiti/paliti sa ini_set() funkcijom. kako pogledat dal su ukljuceni? ili pogledas u php ini ili opicis <?php echo phpinfo(); ?> pa gledas. [ shockre @ 20.05.2004. 19:14 ] @
a mozes mi objasniti zasto predstavljaju security problem?
[ dr ZiDoo @ 20.05.2004. 21:57 ] @
Zato sto preko urla mozes da setujes varijablu.
Npr imas neki code i sada dolazis u petlje koja provjerava autorizaciju: Code: <?php if($auth == 1) { echo("Povjerljivi sadrzaj"); } else { echo("Nemas prava pristpua"); } ?> Pokreni code ovako: http://adresa.com/put/do/skripte/fajl.php?auth=1 i proce ti autorizacija. Ovakve stvari se naravno mogu u codu izbjeci (npr. restetovanje varijable na pocetku skripte) ali bolje je da register_globals ugasis jel onda imas 100% kontrolu na vrednostima u codeu. [ bluesman @ 21.05.2004. 01:53 ] @
Dobro, nije bas tako jednostavno, ali za pocetak ok :-)
[ shockre @ 21.05.2004. 12:48 ] @
hvala, sad sam skuzio
Copyright (C) 2001-2024 by www.elitesecurity.org. All rights reserved.
|