Programmeerimine PHP
}
Juhul, kui register_globals on sisse lülitatud ja me teame (või eeldame) muutuja $admin tähtsust - proovime seda sisestada (inject)
meie programmis $_GET parameetri abil: http://www.example.com/script.php?admin=1, mis on ekvivaletne sellele koodile:
$admin = 1;
...
...
...
if ($_POST['username'] == 'admin' && $_POST['password'] == 'abc123')
{
$admin = true;
}
...
...
...
if ($admin)
{
// give privilege to manage system users
}
Nüüd on ilmselt selege, miks PHP turvalisuse eksperdid soovitavad lülitada register_globals alati välja.
2. Display_errors: seadistab, kas veateateid väljastatakse või mitte. Väga mugav arenduse ja testimise etapil, kuigi toob turvalisuse
probleeme avalikus veebis. Veateade järgi saab teada palju infot failisüsteemist ja arhitektuurist ning samuti ka programmi loogikast,
mis ei ole just see info, mida te sooviksite potentsiaalsele ründajale edastada. Seega soovitatakse display_errors live-saitidel välja