ID:               17874
 Comment by:       icecube at fr dot fm
 Reported By:      che at atlantic dot net
 Status:           Bogus
 Bug Type:         Output Control
 Operating System: Windows 2000
 PHP Version:      4.2.0
 New Comment:

<?
$foo=var_export($GLOBALS,TRUE);
?>
(whithout or not output buffering).

It's the same problem: var_export outputs to the screen $GLOBALS and
then die with an error message.


So that's not a bug...
Ok now imagine you're using a this script in in your website, and you
haven't noticed that error.
With an example it's more easy to understand:
<?

function save_anywhere($foo) {
$save=var_export($foo,TRUE);
/* ... */
}

save_anywhere(&$GLOBALS);

?>

You wish to save $GLOBALS for a any reason (log, ...) and what's the
result ? var_export produces an error and outputs ALL your variables
directly to the user, wich now can hack your site just because he has
your $mdp = "..." :)


It's maybe not necessary to output a variable that was destinated (with
the second parameter TRUE) to be stocked anywhere except in the user
HD.


Previous Comments:
------------------------------------------------------------------------

[2002-06-20 12:12:32] [EMAIL PROTECTED]

Not a b. var_export() dies in recursive arrays. var_export() uses
output buffering internally to deal with the second parameter. The
(internal) ob_end_clean() call will never make it because PHP dies
before it reaches that point and then it just outputs all buffers.

------------------------------------------------------------------------

[2002-06-20 12:02:27] che at atlantic dot net

This is because GLOBALS is recursively linked to itself and it is
causing var_export to die.

------------------------------------------------------------------------

[2002-06-20 11:47:02] che at atlantic dot net

The code below outputs to the screen. (Even with output buffering)

ob_start();
$v = var_export($GLOBALS, TRUE);
ob_end_clean();

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=17874&edit=1

Reply via email to