PHP: PHP - (Register_Globals) |
, PHP register_globals ON OFF 4.2.0. , , PHP. , . , , .
, register_globals ON, , , , . , , PHP , . , PHP OFF. , . , , . register_globals:
29-1. register_globals = on
<?php
// $authorized = true ,
if (authenticated_user()) {
$authorized = true;
}
// $authorized
// , , register_globals,
// , GET GET auth.php?authorized=1.
// ,
if ($authorized) {
include "/highly/sensitive/data.php";
}
?>
register_globals = on . , off, $authorized , . - . , $authorized = false . on, off register_globals, , .
, . , register_globals = on, $username , ( , GET-).
2. register_globals on off
<?php
// , $username, ,
// $_SESSION
if (isset($_SESSION['username'])) {
echo "Hello <b>{$_SESSION['username']}</b>";
} else {
echo "Hello <b>Guest</b><br />";
echo "Would you like to login?";
}
?>
. , , . , . , , $_REQUEST, GET POST , COOKIE. , PHP.
3.
<?php
if (isset($_COOKIE['MAGIC_COOKIE'])) {
// MAGIC_COOKIE .
// .
} elseif (isset($_GET['MAGIC_COOKIE']) || isset($_POST['MAGIC_COOKIE'])) {
mail("admin@example.com", " ", $_SERVER['REMOTE_ADDR']);
echo " , .";
exit;
} else {
// MAGIC_COOKIE
}
?>
, register_globals off . . . error_reporting() E_NOTICE.
PHP.SU: : PHP 4.1.0, , $_GET, $_POST, $_SERVER .. superglobals
: | PHP |