Ayola.net

Форумы поддержки хостинга => Объявления => Тема начата: support@ayola.net от Октябрь 31, 2007, 00:18:48



Название: Register_globals = Off - 30.10.2007
Отправлено: support@ayola.net от Октябрь 31, 2007, 00:18:48
С этого дня для всех аккаунтов на Ayola.net опция PHP register_globals установлена в Off.
Изменение этой опции в индивидуальном порядке больше не производится.

Если ваш скрипт не работает без этой опции - нам очень жаль, но работать у нас он не будет.


Название: Re: Register_globals = Off - 30.10.2007
Отправлено: tzps@ayola.ru от Октябрь 31, 2007, 00:24:52
От себя добавлю.

Сделано это потому, что слишком часто ломают сайты пользователей с этой опцией. После взлома - там размещают всевозможных троянцев. А во время антивирусной проверки заражённые страницы/файлы - удаляются. И пользователи такими раскладами обычно очень недовольны, и обвиняют нас.


Название: Re: Register_globals = Off - 30.10.2007
Отправлено: tzps@ayola.ru от Октябрь 31, 2007, 03:45:16
И ещё. Для начинающих программистов на PHP.
Если у вас скрипт не работает при register_globals=Off, выглядит это обычно так.

Проходя по ссылке типа http://site.com/script.php?x=12&y=Vasya
Чтобы получить эти переменные в скрипте, вы просто работали с ними как с $x (само становилось равным 12) и $y (само становилось равным "Vasya");
Это - неправильная разработка.


При отключенных register_globals вам надо добавить всего 2 строки (по 1 строке на каждую получаемую переменную).
$x = $_GET['x'];
$y = $_GET['y'];

аналогичным образом получаются данные из форм, из cookies и из сессий.

$x = $_POST['x']  -  это если переменная x передаётся через форму методом post.
$x = $_COOKIE['x'] - это если переменная х передаётся через cookies.
$x = $_SESSION['x'] - это если переменная x передаётся через сессию.