Register Globals nutzen
Die PHP-Option "Register_Globals" ist, im Interesse aller Kunden von netcup, in einem Webhostingtarif deaktiviert. Diese Option stellt eine potentielle Sicherheitslücke für PHP-Scripte dar.
Wenn Sie dennoch Register_Globals nutzen müssen, da Sie z.B. ein altes PHP-Script nutzen, können Sie die übergebenen GET-Parameter trotzdem Global durch einen kleinen Trick ansprechen. Binden Sie hierzu in jeder Ihrer-PHP-Dateien als erstes folgenden Code ein:
<?php
if (!defined('PMA_GRAB_GLOBALS_INCLUDED')) {
define('PMA_GRAB_GLOBALS_INCLUDED', 1);
if (!empty($_GET)) {
extract($_GET, EXTR_OVERWRITE);
} else if (!empty($HTTP_GET_VARS)) {
extract($HTTP_GET_VARS, EXTR_OVERWRITE);
}
if (!empty($_POST)) {
extract($_POST, EXTR_OVERWRITE);
} else if (!empty($HTTP_POST_VARS)) {
extract($HTTP_POST_VARS, EXTR_OVERWRITE);
}
if (!empty($_FILES)) {
while (list($name, $value) = each($_FILES)) {
$$name = $value['tmp_name'];
}
} else if (!empty($HTTP_POST_FILES)) {
while (list($name, $value) = each($HTTP_POST_FILES)) {
$$name = $value['tmp_name'];
}
}
if (!empty($_SERVER) && isset($_SERVER['PHP_SELF'])) {
$PHP_SELF = $_SERVER['PHP_SELF'];
} else if (!empty($HTTP_SERVER_VARS) && isset($HTTP_SERVER_VARS['PHP_SELF'])) {
$PHP_SELF = $HTTP_SERVER_VARS['PHP_SELF'];
}
if (isset($goto) && strpos(' ' . $goto, '/') > 0 && substr($goto, 0, 2) != './') {
unset($goto);
}
if (get_magic_quotes_gpc()) {
if (isset($db)) {
$db = stripslashes($db);
}
if (isset($table)) {
$table = stripslashes($table);
}
}
}
?>
WARNUNG: Nutzen Sie dieses Script nur, wenn Sie wissen das Ihre eigenen Scripte sicher sind. Sollten Ihre PHP-Scripte Sicherheitlücken bergen durch die ein Schaden entstehen kann, haften Sie für diese Schäden!
Tipp: Haben Sie eine "Header-Datei" die von jeder PHP-Datei eingebunden wird, brauchen Sie das obige Script nur in diese einbinden.