note 82213 added to security.globals
| From: | RuquayKCalloway at osu1 dot php dot net | Date: | Tue, 01 Apr 2008 13:59:27 +0000 |
| Subject: | note 82213 added to security.globals | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-137814@lists.php.net to get a copy of this message | ||
While we all appreciate the many helpful posts to get rid of register_globals, maybe you're one
of those who just loves it. More likely, your boss says you just have to live with it because he
thinks it's a great feature.
No problem, just call (below defined):
<?php register_globals(); ?>
anywhere, as often as you want. Or update your scripts!
<?php
/**
* function to emulate the register_globals setting in PHP
* for all of those diehard fans of possibly harmful PHP settings :-)
* @author Ruquay K Calloway
* @param string $order order in which to register the globals, e.g. 'egpcs' for default
*/
function register_globals($order = 'egpcs')
{
// define a subroutine
if(!function_exists('register_global_array'))
{
function register_global_array(array $superglobal)
{
foreach($superglobal as $varname => $value)
{
global $$varname;
$$varname = $value;
}
}
}
$order = explode("\r\n", trim(chunk_split($order, 1)));
foreach($order as $k)
{
switch(strtolower($k))
{
case 'e': register_global_array($_ENV); break;
case 'g': register_global_array($_GET); break;
case 'p': register_global_array($_POST); break;
case 'c': register_global_array($_COOKIE); break;
case 's': register_global_array($_SERVER); break;
}
}
}
?>
----
Server IP: 217.13.201.10
Probable Submitter: 80.152.209.223
----
Manual Page -- http://www.php.net/manual/en/security.globals.php
Edit -- https://master.php.net/note/edit/82213
Del: integrated -- https://master.php.net/note/delete/82213/integrated
Del: useless -- https://master.php.net/note/delete/82213/useless
Del: bad code -- https://master.php.net/note/delete/82213/bad+code
Del: spam -- https://master.php.net/note/delete/82213/spam
Del: non-english -- https://master.php.net/note/delete/82213/non-english
Del: in docs -- https://master.php.net/note/delete/82213/in+docs
Del: other reasons-- https://master.php.net/note/delete/82213
Reject -- https://master.php.net/note/reject/82213
Search -- https://master.php.net/manage/user-notes.php