sesser Wed Mar 22 08:21:01 2006 UTC Modified files: /php-src README.UPDATING_TO_PHP6 Log: Fix the bullshit register_globals emulation 1) S is not _SESSION but _SERVER 2) EXTR_OVERWRITE is evil http://cvs.php.net/viewcvs.cgi/php-src/README.UPDATING_TO_PHP6?r1=1.1&r2=1.2&diff_format=u Index: php-src/README.UPDATING_TO_PHP6 diff -u php-src/README.UPDATING_TO_PHP6:1.1 php-src/README.UPDATING_TO_PHP6:1.2 --- php-src/README.UPDATING_TO_PHP6:1.1 Tue Mar 14 16:28:35 2006 +++ php-src/README.UPDATING_TO_PHP6 Wed Mar 22 08:21:01 2006 @@ -34,30 +34,29 @@ Here is an example to emulate the session related functions and a snippet to register variables: -$_register_globals_order = ini_get("variables_order"); +$_register_globals_order = strrev(ini_get("variables_order")); $_register_globals_order_len = strlen($_register_globals_order); for($_register_globals_i=0;$_register_globals_i<$_register_globals_order_len;$_register_globals_i++) { switch($_register_globals_order{$_register_globals_i}) { case "E": - extract($_ENV, EXTR_REFS|EXTR_OVERWRITE); + extract($_ENV, EXTR_REFS|EXTR_SKIP); + break; + case "G": - continue; + extract($_GET, EXTR_REFS|EXTR_SKIP); break; case "P": - extract($_POST, EXTR_REFS|EXTR_OVERWRITE); + extract($_POST, EXTR_REFS|EXTR_SKIP); break; case "C": - extract($_COOKIE, EXTR_REFS|EXTR_OVERWRITE); + extract($_COOKIE, EXTR_REFS|EXTR_SKIP); break; case "S": - if(!isset($_SESSION)) { - continue; - } - extract($_SESSION, EXTR_REFS|EXTR_OVERWRITE); + extract($_SERVER, EXTR_REFS|EXTR_SKIP); break; } }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php