Что такое register_globals и как с этим бороться?
Автор статьи: Андрошук Александр ©
Сайт Автора: нет
E-mail Автора: нет
Дата публикации: 20.12.2005
Register_globals - это параметр в настройках PHP-интерпретатора. У себя на виртуальном серваке часто ставят этот параметр в положение on. Сейчас, у некоторых хостеров этот параметр стоит в положении off. В чём разница?Если параметр включён (on), то передав через форму данные PHP обрабатывает их и преобразует в глобальные переменные, и получить их можно просто, допустим через форму мы передали поле с названием name, значит получить значение можно через переменную $name. Если параметр выключен, множество скриптов начинают глючить и создатель скрипта гонит на хостинг, хотя сам он виноват. При register_globals = off переменную переданную через форму просто получить уже нельзя. То же самое и с куками (cookie). Что же делать? Если мы передавали методом GET, то получить переменные можно так: $_GET['varible']. Если методом POST: $_POST['varible']. Если хотим достать из куков: $_COOKIE['varible']. Есть медот прощЕ! Просто можно вначале скрипта написать пару строк:
Для того, чтобы проверить это сделайте следующее (поставьте в файле php.ini параметр register_globals = off):
И передайте методом GET (http://localhost/index.php?name=me) переменную $name. Она выведеться, потом удалите эти строки, оставте только echo $name; и снова передайте методом GET переменную $name, она не покажется. |
|
"Что такое register_globals и как с этим бороться?" Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2007. Перепечатка материалов разрешается, только после письменного разрешения автора (e-mail). При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны. |
|
|