includes/globals_off.inc.php
findet sich momentan folgendes...
Code: Alles auswählen
<?php
$types_to_register = array('GET','COOKIE','POST','SERVER','ENV');
foreach ($types_to_register as $global_type) {
$arr = @${'HTTP_' . $global_type . '_VARS'};
if (@count($arr) > 0) {
extract($arr, EXTR_OVERWRITE);
}
}
/* Register post and get variables into $FORM */
$FORM = array_merge($_REQUEST);
?>
noch so nebenbei
bringt es nicht...
wenn $_REQUEST bereits existiert ist das bereits ein array der die nötigen daten beinhaltet... also $_GET, $_POST, $_COOKIE
täte es auch...
es gibts da ein missverständniss worauf ich eigentlich hinaus wollte..
das ganze bezieht sich auf
->
http://contenido.org/forum/viewtopic.php?t=6483
der hauptgrund warum es die datei gibt ist ja das register globals = on simuliert werden soll...
soweit so gut...
dieses file verwendet die $HTTP_*_VARS um das zu erledigen...
ich hab gemeint die $FORM soll komplett gekickt werden und statt dessen in den files
include.frontend.user_menu.php
include.html_tpl_edit_form.php
include.html_tpl_files_overview.php
include.js_edit_form.php
include.js_files_overview.php
include.style_edit_form.php
include.style_files_overview.php
anstelle von $FORM -> $_REQUEST verwendet werden...
mittels eines search & replace sind das 59 ersetzungen (gross/ kleinschreibung darf nicht ignoriert werden!)
ich hab das getestet und das birgt wirklich keine risiken in sich...
ich hab mich jetzt hingesetzt und was geschrieben, das dafür sorgt das
sowohl $HTTP_*_VARS als auch alle $_* zur verfügung stehen...
ich hab sogar berücksichtigt das register_long_arrays off sein kann...
Code: Alles auswählen
<?php
// REGISTER GLOBAL VARS
// Author Martin Horwath [horwath@dayside.net]
// Makes available those super global arrays that are made available in versions of PHP after v4.1.0
if (phpversion() <= "4.1.0") {
$_SERVER = &$HTTP_SERVER_VARS;
$_GET = &$HTTP_GET_VARS;
$_POST = &$HTTP_POST_VARS;
$_COOKIE = &$HTTP_COOKIE_VARS;
$_FILES = &$HTTP_POST_FILES;
$_ENV = &$HTTP_ENV_VARS;
// _SESSION is the only superglobal which is conditionally set
if (isset($HTTP_SESSION_VARS))
{
$_SESSION = &$HTTP_SESSION_VARS;
}
}
// PHP5 with register_long_arrays off?
if (!isset($HTTP_POST_VARS) && isset($_POST))
{
$HTTP_POST_VARS = &$_POST;
$HTTP_GET_VARS = &$_GET;
$HTTP_SERVER_VARS = &$_SERVER;
$HTTP_COOKIE_VARS = &$_COOKIE;
$HTTP_ENV_VARS = &$_ENV;
$HTTP_POST_FILES = &$_FILES;
// _SESSION is the only superglobal which is conditionally set
if (isset($_SESSION))
{
$HTTP_SESSION_VARS = &$_SESSION;
}
}
if (!isset($_REQUEST)) {
/* Register post,get and cookie variables into $_REQUEST */
$_REQUEST = array_merge($_GET, $_POST, $_COOKIE);
}
// register globals
$types_to_register = array('GET','POST','SERVER','COOKIE','SESSION');
foreach ($types_to_register as $global_type) {
$arr = @${'_' . $global_type };
if (@count($arr) > 0) {
// echo "<pre>\$_$global_type:"; print_r ($arr); echo "</pre>";
extract($arr, EXTR_OVERWRITE);
}
}
// save memory
unset ($types_to_register, $global_type, $arr );
?>
->
http://contenido.org/forum/viewtopic.php?p=36020#36020
kann dann ebenso geändert werden. da dies dann die globals_off.inc.php mit erledigt...
diese änderung ist wirklich low risk und sorgt für mehr kombatibilität...
man könnte sogar noch soweit gehen und die datei in setup/index.php mit einbinden...
bitte teste das mal, das funkt einwandfrei...