PHP kézikönyv
Előző
5.
Fejezet.
Biztonság
Következő
A legtöbb probléma sok PHP programban nem a nyelvben rejlik, hanem abból fakad, hogy a kód nem a biztonságosságot szem előtt tartva készült.
Emiatt mindig kellő időt kell szánni annak ellenőrzésére, hogy egy adott kódrészletre milyen hatással lehet egy váratlan hibás adat.
Példa 5-17.
Veszélyes változóhasználat
?php / / egy fájl törlése a user könyvtárából... vagy / / talán valaki máséból? unlink ($ordogi_valtozo); / / Az elérés naplózása... vagy egy / etc / passwd bejegyzésé? fputs ($fp, $ordogi_valtozo); / / Valami egyértelmű dolog futtatása.. vagy rm -rf *? system ($ordogi_valtozo); exec ($ordogi_valtozo);?
Biztos, hogy ez a szkript csak a kívánt fájlokat fogja módosítani?
Előfordulhat egy ponton, hogy szokatlan vagy nem kívánatos adat jelenjen meg?
Használható-e az adott szkript nem kívánatos formában?
Felhasználható-e más szkriptekkel együtt egy negatív hatás elérésére?
Megfelelően naplózásra kerülnek-e a tranzakciók (elérések, változtatások)?
Számításba lehet venni a register_globals, magic_quotes és más kényelmi szolgáltatások kikapcsolásának a gondolatát is, mivel ezek megfosztanak az adatok forrásának, helyességének, tartalmának ismeretétől.
A PHP*t maximális hibajelentési szinten használva - az error_reporting E_ALL beállításával - figyelmeztetést ad előzetes érték nélküli, definiálatlan változókról, ezzel védve attól, hogy véletlenül hibás adatokkal dolgozzon a program.
Előző
Tartalom
Következő
Globálisan is elérhető változók (Register Globals) használata
Fel
A PHP elrejtése