PHP 4.0 Bug #9020 Updated: Registered variables can be set in URL on first run

From: Date: Wed, 31 Jan 2001 05:51:35 +0000
Subject: PHP 4.0 Bug #9020 Updated: Registered variables can be set in URL on first run
Groups: php.dev 
Request: Send a blank email to php-dev+get-45426@lists.php.net to get a copy of this message
ID: 9020 User Update by: paul_kroll@hotmail.com Status: Open Bug Type: *Session related Description: Registered variables can be set in URL on first run Ref: think this is what the person was getting at in bug 8184. Previous Comments: --------------------------------------------------------------------------- [2001-01-31 00:35:58] paul_kroll@hotmail.com One of the last comments on http://www.php.net/manual/en/ref.session.php by bpeikes@hotmail.com is dead-on: if sessions.auto_start is 0/off, and session globals are on, a session variable can be set from the URL if it's done before the first-hit on the server. This is easier to see if you turn off cookies in your browser (otherwise you need to delete cookies after every session) Make a page like: <?php session_register("count"); $count += 10; ?><html><body> <a href="thispage.php">This page</a> Count = <?php echo $count; ?> </body> </html> Count should be 10 on first hit and +10 each time you click on the link (assuming trans-sid for that link to work right w/out cookies, but trans-sid isn't involved in this bug) to "This page": but if you fake a URL, "thispage.php?count=234" then on the first run, $count will display as 244 (since the script will add 10 to it...) This can be avoided by unsetting (or setting for that matter) the registered variable(s) before session_register() (and maybe before session_start, haven't checked), but that should NOT be necessary: PHP should unset the variable by itself on first run. --------------------------------------------------------------------------- Full Bug description available at: http://bugs.php.net/?id=9020

« previous php.dev (#45426) next »