On Wed, Apr 16, 2008 at 9:15 AM, Richard Heyes <[EMAIL PROTECTED]> wrote:
> off-subject (yes total thread robbery here [more of a side note really]).
> > i saw a reference to some of your work in the Solar framework richard, for
> > clearing out the 'environment' or rather the superglobal arrays. good
> > stuff.
> >
>
> Thanks (I think you're referring to clearing register_globals crapola).
> Credit also due to Stephan Esser.
ya; (reposting for list)
/**
*
* Generates a simple exception, but does not throw it.
*
* This method attempts to automatically load an exception class
* based on the error code, falling back to parent exceptions
* when no specific exception classes exist. For example, if a
* class named 'Vendor_Example' extended from 'Vendor_Base' throws an
* exception or error coded as 'ERR_FILE_NOT_FOUND', the method will
Richard Heyes and Stefan Esser.
*
* @return void
*
*/
public function cleanGlobals()
{
$list = array(
'GLOBALS',
'_POST',
'_GET',
'_COOKIE',
'_REQUEST',
'_SERVER',
'_ENV',
'_FILES',
);
// Create a list of all of the keys from the super-global values.
// Use array_keys() here to preserve key integrity.
$keys = array_merge(
array_keys($_ENV),
array_keys($_GET),
array_keys($_POST),
array_keys($_COOKIE),
array_keys($_SERVER),
array_keys($_FILES),
// $_SESSION is null if you have not started the session yet.
// This insures that a check is performed regardless.
isset($_SESSION) && is_array($_SESSION) ? array_keys($_SESSION)
: array()
);
// Unset the globals.
foreach ($keys as $key) {
if (isset($GLOBALS[$key]) && ! in_array($key, $list)) {
unset($GLOBALS[$key]);
}
}
}
hope ya dont mind if i borrow that one :D
i was reading through it, and i was like; holy shit; that dudes from the
list !! btw, i talked to the guy who wrote solar, when i was in dc last
year. really cool fellow; but i talked his ear off :O
-nathan