You are asking why you can give register_globals=Off
and $_REQUEST['abc']
will be set. That's not relevant to how register_globals
works.
register_globals
sets a global variable with the name of the URL key. So in this case you could do echo $abc;
and the code would work fine if register_globals
was enabled and would cause an error if it was disabled.
$_REQUEST
(like $_GET
and $_POST
) is a super-global, and will be available whatever setting you give.