Суперглобальные переменные

Всем привет! 🙂 Появилась надобность в использовании $_SESSION. После долгих выяснений некорректной работы этого массива нашел ответ в строке 35 файла wp-settings.php:

// Turn register_globals off.
wp_unregister_GLOBALS();

, которая гласит нам то, что использование суперглобальных переменных запрещено в целях безопасности.

Вопрос следующий: как быть? есть ли альтернативный подход?

Смотрите дальше, копайте глубже 🙂

function wp_unregister_GLOBALS() {
    if ( !ini_get('register_globals') )
        return;
...

То есть, надо думать, что если в настройках PHP register_globals = off, то функция завершается сразу же, и до истребления глобальных переменных дело не доходит.

Ну это я видел 🙂

Находится в файле wp-include/load.php. Но погуглив, я нашел инфу, что register_globals ставить в on не рекомендуется, т.к. не совсем безопасно.

Либо в WordPress предусмотрена своя защита и register_globals можно ставить в on? Если в on поставить, то $_SESSION будет по всей видимости работать корректно. Или я не прав?

Если в on поставить, то $_SESSION будет по всей видимости работать корректно.

Судя по коду, с точностью до наоборот 🙂

Проверил. В 2.9 сессии работают нормально.

[quote=Ukoder.ru]Если в on поставить, то $_SESSION будет по всей видимости работать корректно.

Судя по коду, с точностью до наоборот :)[/quote]
Да, конечно же. Опечатался 🙂

Anonymous
Отправить
Ответ на: