[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: array($_REQUEST, $_SESSION, $_SERVER, $_FILES)
Nuzhser

$globals = array($_REQUEST, $_SESSION, $_SERVER, $_FILES);
//print_r ($globals);
foreach ($globals as $global) {
foreach(array_keys($global) as $key) {
unset($$key);
}
}



Нашел этот код в одном движке и не вижу что собственно удаляется и вообще правильно ли прописано?
Ведь если употребить эхо то будет много предупреждений что нет переменной и параметры переданные функциям неверны

$globals = array($_REQUEST, $_SESSION, $_SERVER, $_FILES);
//print_r ($globals);
foreach ($globals as $global) {
foreach(array_keys($global) as $key) {
echo $$key;
}
}




Notice: Undefined variable: _SESSION in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 4 Warning: array_keys() expects parameter 1 to be array, null given in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 7 Warning: Invalid argument supplied for foreach() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 7 Notice: Undefined variable: HTTP_USER_AGENT in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: HTTP_HOST in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: HTTP_ACCEPT in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: HTTP_ACCEPT_LANGUAGE in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: HTTP_ACCEPT_CHARSET in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: HTTP_ACCEPT_ENCODING in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: HTTP_COOKIE in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: HTTP_COOKIE2 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: HTTP_CACHE_CONTROL in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: HTTP_CONNECTION in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: HTTP_TE in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: PATH in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: SystemRoot in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: COMSPEC in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: PATHEXT in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: WINDIR in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: SERVER_SIGNATURE in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: SERVER_SOFTWARE in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: SERVER_NAME in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: SERVER_ADDR in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: SERVER_PORT in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: REMOTE_ADDR in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: DOCUMENT_ROOT in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: SERVER_ADMIN in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: SCRIPT_FILENAME in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: REMOTE_PORT in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: GATEWAY_INTERFACE in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: SERVER_PROTOCOL in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: REQUEST_METHOD in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: QUERY_STRING in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: REQUEST_URI in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: SCRIPT_NAME in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: PHP_SELF in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8
Notice: Undefined variable: REQUEST_TIME in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 8



Спустя 13 минут, 43 секунды (29.07.2011 - 18:19) jetistyum написал(а):
видимо этот код существует на случай включенной переменной register_globals
но перед удалением переменной не производится проверка существования ... кривовато конечно работает, на хостингах чаще всего эта директива отключена. можно этот кусок кода убрать, если уверены что register_globals=off

Спустя 11 минут, 24 секунды (29.07.2011 - 18:30) Nuzhser написал(а):
А можна пояснити якшо глобалс включений механізм роботи цього куска коду.
if (ini_get('register_globals')) {
ini_set('session.use_cookies', 'On');
ini_set('session.use_trans_sid', 'Off');

session_set_cookie_params(0, '/');
session_start();

$globals = array($_REQUEST, $_SESSION, $_SERVER, $_FILES);

foreach ($globals as $global) {
foreach(array_keys($global) as $key) {
unset($$key);
}
}
}

Спустя 4 минуты, 32 секунды (29.07.2011 - 18:35) Winston написал(а):
Nuzhser
Ты этот вопрос этот только для украинцев задал? Остальные вряд ли тебя поймут laugh.gif

Спустя 1 минута, 36 секунд (29.07.2011 - 18:36) jetistyum написал(а):
если register_globals включен, то установить переменные настройки php такие - то в такое-то состояние

читай тут
http://php.net/manual/en/session.configuration.php
не стесняйся гуглить, все есть в интернетах

Спустя 2 минуты, 8 секунд (29.07.2011 - 18:38) jetistyum написал(а):
мне ркажется что украинский очень простой язык, чтобы его "нельзя было понять" smile.gif

Спустя 9 минут, 48 секунд (29.07.2011 - 18:48) Nuzhser написал(а):
PHPprogrammer ты шо за всих так пэрэжываеш?
Якшо так то дублюй свойи посты на английську бо пив свиту тэбэ не розумие

Спустя 4 минуты, 48 секунд (29.07.2011 - 18:53) Winston написал(а):

 ! 

М
Nuzhser
Ты нарушаешь П 2.4.a, П 2.4.b !
PHPprogrammer

Спустя 6 минут, 15 секунд (29.07.2011 - 18:59) jetistyum написал(а):
Nuzhser
Зачем грубить, PHPprogrammer сделал вполне уместное замечание, можно к нему прислушаться, можно не прислушаться, но грубить то зачем? Если тут каждый будет думать только о себе, тогда наверное такие вопросы останутся без ответа, ведь это не моя, не его проблема, задумайся, ну и вежливость никому не мешала еще.


_____________
Лэт ит би
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.