ГлавнаяРегистрацияВход Приветствую Вас Гость | RSS
   
Меню сайта
Разделы новостей
mp3player
Главная » 2007 » Июль » 7 » Что такое register_globals и как с этим бороться?
Что такое register_globals и как с этим бороться?
15:39
Register_globals - это параметр в настройках PHP-интерпретатора. У себя на виртуальном серваке часто ставят этот параметр в положение on. Сейчас, у некоторых хостеров этот параметр стоит в положении off.


В чём разница?

Если параметр включён (on), то передав через форму данные PHP обрабатывает их и преобразует в глобальные переменные, и получить их можно просто, допустим через форму мы передали поле с названием name, значит получить значение можно через переменную $name. Если параметр выключен, множество скриптов начинают глючить и создатель скрипта гонит на хостинг, хотя сам он виноват. При register_globals = off переменную переданную через форму просто получить уже нельзя. То же самое и с куками (cookie). Что же делать? Если мы передавали методом GET, то получить переменные можно так: $_GET['varible']. Если методом POST: $_POST['varible']. Если хотим достать из куков: $_COOKIE['varible']. Есть метод проще! Просто можно вначале скрипта написать пару строк:

extract($_GET);
extract($_POST);
extract($_COOKIE);


Для того, чтобы проверить это сделайте следующее (поставьте в файле php.ini параметр register_globals = off):

<?
extract($_GET);
extract($_POST);
extract($_COOKIE);
echo $name;
?>


И передайте методом GET (http://localhost/index.php?name=me) переменную $name. Она выведеться, потом удалите эти строки, оставьте только echo $name; и снова передайте методом GET переменную $name, она не покажется.

Автор: Андрошук Александр
Источник: web-student
Категория: PHP | Просмотров: 770 | Добавил: VVS | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск
Форма входа
Наш опрос
Чего Вам не хватает на сайте?
Всего ответов: 21
Друзья сайта
Статистика
Возраст