> Its very simply really, as you well know, since PHP 4.2.0 register_globals are
> off by default. Because they are off, session_register does not retrieve a
> value from the variable and only creates a null variable inside the session.
> So, unless the user is aware of this issue and knows that to fix the problem
> they need to enable register globals, which somewhat of a security risk, the
> application they are trying to use won't work. Session is a fairly popular
> extension, it is used by many PHP applications, so this is rather serious
> problem.

    You fail to see that an application is either designed to
    work with enabled register_globals, or it is not.  There is
    little in between.  If an application's session part fails
    because of register_globals, the rest of the application
    which handles input data will also fail.

    No magic code in the session extension will cure the support
    hassle created by the register_globals change.

    The main goal is to have a stable session extension with
    little to no behavioral changes from 4.2 to 4.3.  Please keep
    that in mind.

> My patch does not force the association between track and global variables all
> the time, it is conditional on register_globals being enabled. This does not
> prevent the user from having $test0 & $_SESSION['test0'] as 2 seperate
> varaibles containing unrelated data.

    That's incorrect.  Consider this code with your patch applied
    and register_globals=0:

    $c = "bla";
    session_register("c");
    // $_SESSION["c"] is now a ref to $c
    $_SESSION["c"] = "other stuff";
    // voila, you now have changed the global variable $c

    - Sascha


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to