Haluaisin hieman kommentteja ja vertailua, että miten register_globals=off vaikuttaa verrattuna on-asentoon. Eli hyviä ja huonoja puolia, etenkin turvallisuusnäkökohtia.
Ja sitten haluaisin myös tietää, että voiko tuota Apachen asetusta muuttaa käyttäjäkohtaisesti vai onko se palvelinkohtainen? Eli voinko pyytää esim. palvelimen ylläpitäjää muuttamaan tuota?
Ja sitten haluaisin myös tietää, että voiko tuota Apachen asetusta muuttaa käyttäjäkohtaisesti vai onko se palvelinkohtainen? Eli voinko pyytää esim. palvelimen ylläpitäjää muuttamaan tuota?
Vastaukset 2
Vanhimmat
register_globals = on:
- esim. osoitteen perässä annetut muuttujat (kuten .../skripti.php?id=1&name=boss)saadaan skriptissä käyttöön suoraan niiden nimillä ($id ja $name). Samoin voidaan lukea muutkin query_stringissä välitetyt muuttujat suoraan niiden nimillä.
register_globals = off:
- Kyseiset muuttujat eivät näy suoraan, vaan ne joudutaan lukemaan, esim. $_GET['id'], $_GET['name'] tai vaikka $_COOKIE['user']
PHP:n manuaalissa on selventävä esimerkki register_globals=off käytön puolesta.
REGISTER_GLOBALS=on:
REGISTER_GLOBALS=off:
Eli pähkinänkuoressa: On-asetuksella käyttäjän (=hakkerin) on helpompi lähettää skriptille väärennettyjä muuttujia, Off-asetuksella homma vaikeutuu.
Vielä se, mihin No5 ei vastannut, on se, että register_globals=on/off voi säätää vaikkapa kotihakemistosi .htaccess-tiedostosta. Esim. Mbnetissä kyseinen asetus on asennossa on(!), joten olen omaan hakemistooni säätänyt skripteille register_globals=off