Re: [PATCH] Fix for bug #31440 (GLOBALS can be by G/P/C when register_globals=On)
| From: | Ilia Alshanetsky | Date: | Wed, 16 Feb 2005 03:01:33 +0000 |
| Subject: | Re: [PATCH] Fix for bug #31440 (GLOBALS can be by G/P/C when register_globals=On) | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-15000@lists.php.net to get a copy of this message | ||
IMO this is something that should be marked as Won't Fix and hope that by PHP 5.2 we can drop register_globals all together. Heck, perhaps we can do it for PHP 5.1.
Ilia
Andi Gutmans wrote:
This behavior makes some sort of sense. It happens when register_globals is on which means you are supposed to be able to access $GLOBALS[] and it makes sense for it to stay in sync with the global variables. Maybe $GLOBALS[] and $GLOBALS direct access are edge cases but should we invest time and code to resolve this when we know it's a general problem anyway? Andi At 01:39 PM 2/15/2005 +0200, Jani Taskinen wrote:Patch to fix is here:http://www.php.net/~jani/patches/bug31440.php_4_3_patch http://www.php.net/~jani/patches/bug31440.php_HEAD_patchIn PHP_4_3 you can overwrite GLOBALS with these queries:?GLOBALS[foo]=err or ?GLOBALS[]=foo or ?GLOBALS=fooIn HEAD you can overwrite GLOBALS with this only:?GLOBALS=fooI didn't investigate WHY that is the only type of query that "works" in HEAD branch but the same patch fixed that too.None of super-globals can be overwritten like this, be it register_globals On or Off.IMNSHO, GLOBALS should be "protected". (I don't say that this hacky patch of mine is the way, but it does the job :)--Jani-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php