![](https://forum.armkb.com/images/enlighten/misc/cat_top_ls.gif) |
PHP help :: register globals |
![](https://forum.armkb.com/images/enlighten/misc/cat_top_rs.gif) |
24.02.2007, 14:50
|
#1
|
Moderator
Join Date: 10 2001
Location: Yerevan
Posts: 5,466
Rep Power: 6
|
PHP help :: register globals
Дорогие программисты
Как известно после версии 4.20 в PHP по дефолту register_globals отключен.
Поскольку многие старые программы написаны с учетом что она включена то старые программы на новых ПХП иногда работают со сбоями а иногда вообще не работают.
Укажите быстрый и надежный способ с помощью которого можно добится нормальной работы старых программ на новых версиях ПХП !
|
|
|
24.02.2007, 15:09
|
#2
|
панаехавший
Join Date: 06 2003
Location: форпост
Age: 37
Posts: 4,007
Rep Power: 0
|
izmenit' nastroyki php. Esli rech idet o hosting serverax to na nix register_globals ochen' chasto vkluchen
|
|
|
24.02.2007, 15:21
|
#3
|
Moderator
Join Date: 10 2001
Location: Yerevan
Posts: 5,466
Rep Power: 6
|
Quote:
Esli rech idet o hosting serverax to na nix register_globals ochen' chasto vkluchen
|
Речь идет именно о хостинге.
No ya ne xochu vkluchit v php etu fishku poskolku eto sozdaet problemu bezopasnoti dlya drugoy programmi kotori stoit na etom servere
Неужели нету способа для его включения в отдельно взятой программе ?
|
|
|
24.02.2007, 15:41
|
#4
|
Easy rider
Join Date: 11 2005
Location: tristeza
Age: 39
Posts: 1,082
Rep Power: 0
|
Mono, better write programs that don't require register_globals. Seriously.
|
|
|
![](https://forum.armkb.com/images/enlighten/misc/cat_top_ls.gif) |
|
![](https://forum.armkb.com/images/enlighten/misc/cat_top_rs.gif) |
24.02.2007, 15:43
|
#5
|
Moderator
Join Date: 10 2001
Location: Yerevan
Posts: 5,466
Rep Power: 6
|
все нашел решение
http://am.php.net/manual/ru/faq.misc.php
Quote:
3. Как обращаться с register_globals?
Для информации по проблемам безопасности, связанных с register_globals, читайте Использование register_globals в главе Безопасность.
Предпочтительнее использовать superglobals, чем полагаться на то, что register_globals установлена в On.
Если вы пользуетесь совместным хостом с выключенной register_globals и вам надо использовать некоторые существующие приложения, которые требуют чтобы эта опция была включена; или вы на каком-либо сервере, где эта возможность включена, но вы хотите эмулировать проблему по безопасности, то возможно вам надо эмулировать противоположную установку с помощью PHP. Всегда лучше сначала спросить, если можно каким-либо образом изменить опцию в конфигурации PHP, но если это невозможно, то вы можете воспользоваться следующими совместимыми кусками кода.
|
Code:
<?php
// Emulate register_globals on
if (!ini_get('register_globals')) {
$superglobals = array($_SERVER, $_ENV,
$_FILES, $_COOKIE, $_POST, $_GET);
if (isset($_SESSION)) {
array_unshift($superglobals, $_SESSION);
}
foreach ($superglobals as $superglobal) {
extract($superglobal, EXTR_SKIP);
}
ini_set('register_globals', true);
}
?>
|
|
|
![](https://forum.armkb.com/images/enlighten/misc/trans.gif) |
24.02.2007, 15:48
|
#6
|
Moderator
Join Date: 10 2001
Location: Yerevan
Posts: 5,466
Rep Power: 6
|
Quote:
Mono, better write programs that don't require register_globals. Seriously.
|
Silver jan, it is not my code. I was trying to reuse some old code on new php install. I was testing for my own purposes, surely i will not let it public
|
|
|
25.02.2007, 04:12
|
#7
|
Moderator
Join Date: 03 2002
Location: Russia
Posts: 123
Rep Power: 0
|
Quote:
Originally Posted by Mono
Речь идет именно о хостинге.
No ya ne xochu vkluchit v php etu fishku poskolku eto sozdaet problemu bezopasnoti dlya drugoy programmi kotori stoit na etom servere
Неужели нету способа для его включения в отдельно взятой программе ?
|
1. Некоторые настройки PHP можно изменять через .htaccess
2. Обычно у каждой программы своя папка.
Поэтому, для того, что бы включить register_globals для отдельной программы, надо в ее папке создать файл .htaccess со следующим содержимым:
Code:
php_value register_globals On
|
|
|
25.02.2007, 08:01
|
#8
|
Moderator
Join Date: 10 2001
Location: Yerevan
Posts: 5,466
Rep Power: 6
|
Quote:
2. Обычно у каждой программы своя папка.
Поэтому, для того, что бы включить register_globals для отдельной программы, надо в ее папке создать файл .htaccess со следующим содержимым:
|
а влияние .htaccess-а пойдет в подпапки или в подпапках тоже нужно это декларировать ?
|
|
|
25.02.2007, 08:10
|
#9
|
Moderator
Join Date: 03 2002
Location: Russia
Posts: 123
Rep Power: 0
|
Да, .htaccess будет для папки, со всеми ее подпапками.
|
|
|
All times are GMT. The time now is 19:08. |
|
|