Ваш вопрос:
Использование $ GLOBALS ['HTTP_GET_VARS'] устарело?
Ответ:
Да, это так.
http://www.php.net/manual/en/reserved.variables.get.php
Эта страница прямо заявляет, что $HTTP_GET_VARS
устарела, и вместо нее следует использовать $_GET
.
$HTTP_GET_VARS
- это то же самое, что и $GLOBALS['HTTP_GET_VARS']
.И поэтому это также не рекомендуется по причине.(обратите внимание, что на все переменные, определенные в глобальной области видимости, можно ссылаться с помощью $GLOBALS['variablename']
)
Кстати: когда дело доходит до работы с устаревшим кодом, использующим $HTTP_GET_VARS
, я знаю, что вы сказали, что хотите избежатьизменение кода, если вы можете избежать этого, но стоит отметить, что код этого возраста, вероятно, будет иметь большие проблемы при запуске в современной установке PHP, так как более старые версии PHP предполагали бы, что используются magic_quotes
.Если вы запустите тот же код в более новой версии PHP, у вас не будет magic_quotes
, поэтому вы должны убедиться, что данные экранированы правильно.
Рассматривая весь полученный код,похоже, что он пытается скопировать все переменные в различных массивах HTTP_***_VARS
в глобальную область видимости.Это функциональность, которая была сделана автоматически в действительно старых версиях PHP, но была отброшена, потому что она вызывает серьезные проблемы с безопасностью.Я настоятельно рекомендую отбросить весь этот кусок кода и преобразовать каждый, чтобы использовать вместо него $_GET
.Возможно, вы захотите Google для register_globals
для получения дополнительной информации о том, почему это плохо.