Встроенные массивы PHP
$GLOBALS содержит все глобальные переменные. Если $x=1,
то к ней можно получить доступ
так: $GLOBALS['x']
$_POST включает все переменные формы, переданные сценарию методом POST.
$_GET включает все переменные, переданные методом GET.
Пример использования массива $_GET для поиска запрещенных символов во входном потоке:
foreach ($_GET as $sec_key => $secvalue) {
if (
(eregi("<", $secvalue)) ||
(eregi(">", $secvalue)) ||
(eregi("\(", $secvalue)) ||
(eregi("\)", $secvalue))
)
die ("html tags you attempted to use are not allowed");
}
Проверка на < и > HTML теги для обнаружения скриптов на PHP, Javascript, Vbasic.
Проверка на ( ) круглые скобки
$_SESSION сожержит все переменные сеанса.
$_COOKIE сожержит переменные куки.
$_REQUEST сожержит переменные $_GET, $_POST, $_COOKIE, $_SESSION.
$_FILES сожержит имена всех загружаемых файлов.
$_SERVER включает данные об используемом web-сервере (заголовки, настраиваемые пути).
Так как веб-серверы
различаются, то и эти переменные отличаются.
Пример: $_SERVER['HTTP_USER_AGENT'];
$_SERVER['HTTP_REFERER'];
$_SERVER['QUERY_STRING'];
$_SERVER['REQUEST_METHOD'];
$_SERVER['HTTP_ACCEPT_ENCODING'];
$_SERVER['HTTP_HOST'];
$_SERVER['REMOTE_ADDR'];
$_SERVER['PHP_SELF'];
$_SERVER['SERVER_SOFTWARE'];
Массив $_SERVER можно просмотреть таким образом:
foreach ($_SERVER as $key => $value)
{
echp "Ключ = $key, Значение = $value\n";
}
$_ENV содержит информацию о пременных окружения (среды, Environment): системный диск,
путь к временному каталогу. Эта информация зависит от ОС.
Пример: $_ENV['REMOTE_ADDR']; это же значение REMOTE_ADDR можно получить и так: getenv('REMOTE_ADDR');
Для просмотра массива $_ENV можно использовать функцию phpinfo(16);