"register_globals = off" == зло

insomnia

Новичок
"register_globals = off" == зло

парни писали нам сайт для одного проекта. прислали исходники, не работающие без включенного рег_глобала, мы высловили свой протЭст, и парни нашли выход из ситуации
PHP:
//registering globals
foreach($HTTP_POST_VARS as $key => $value)
	eval("$".$key."='".$value."';");
foreach($HTTP_GET_VARS as $key => $value)
	eval("$".$key."='".$value."';");
порадовало :)
 

Фанат

oncle terrible
Команда форума
ну, они не первые такие умные. в сети вполне себе процветает один известный сайт для осваивающих пехапе, на котором этот способ красуется на почётном месте.
 

phprus

Moderator
Команда форума
insomnia
мда. парни видать php вообще первый раз вчера увидели, так как не понятно зачем так извращаться. Функцию extract еще никто не отменял.

P.S. ИМХО код надо писать так, чтобы он работал при register_globals = off, а самостоятельная глобализация переменных - зло.
 

insomnia

Новичок
помоему register_globals = off начиная в версии 4.2.0 - стандарт дэ-факто

а про компетенцию парней можно размышлять, кстати от туда же
(в требованиях к проекту мы указали, что версией пхп будет 4.4.х)
PHP:
function _POST($key)
{
	global $HTTP_POST_VARS;
	return isset($HTTP_POST_VARS[$key]) ? $HTTP_POST_VARS[$key] : "";
}
и аналогичная ф-ция для данных передаваемых get'ом
 

StUV

Rotaredom
иногда постить в хумор зло самому себе... замечено в последние пол-года ;)
 

tf

крылья рулят
мда. парни видать php вообще первый раз вчера увидели, так как не понятно зачем так извращаться.
как зачем
eval("$key; что-хочу(); $t = 'value';");
продуманные парни :))
 

phprus

Moderator
Команда форума
tf
О как. А это мысль. И как это я сразу до такого не додумался?
 

Vladson

Сильнобухер
>>> парни писали нам сайт

Скупой платит дважды, заплатили бы не парням а программистам может они догадались бы сделать
extract($_POST) :)
 

Vladson

Сильнобухер
HraKK
Читай то что написано а не то что хочется увидеть, смысл сообщения не в экстракте а в людях...
 

shureen

Милорд Лось Кристофер
А не лучше (и не проще) бы было создать файл .htaccess и прописать там:
Код:
php_value register_globals on
Я, например, так делаю всегда (только наоборот в off), а то мало ли у какого-нибудь хостера вдруг хватит мозгов поставить этот параметр в on (бывали случаи)
 

shureen

Милорд Лось Кристофер
extract($_REQUEST,EXTR_SKIP);
Ну всё же, уважаемые форумчане, к чему подобный изврат, если можно register_globals просто напросто включит
А не лучше (и не проще) бы было создать файл .htaccess и прописать там:
Код:
php_value register_globals on
Или это не всегда работает? Покрайней мере в моей практике работало всегда (правда только для отключения этой опции, хотя разницы имхо быть не должно)
 
Сверху