note 50730 deleted from security.magicquotes by philip
| From: | philip@php.net | Date: | Fri, 11 Mar 2005 19:59:19 +0000 |
| Subject: | note 50730 deleted from security.magicquotes by philip | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-86294@lists.php.net to get a copy of this message | ||
Note Submitter: luciano at vittoretti dot com dot br
----
If you dont want to use magic quotes, and have no permissions to disable that feature, use this
function:
<?
function table_manager_no_magic_quotes() {
if (!function_exists("table_manager_no_magic_quotes_aux")) {
function table_manager_no_magic_quotes_aux() {
if (ini_get("magic_quotes_gpc")) {
$trocar = Array();
if (ini_get("magic_quotes_sybase")) {
$trocar[] = Array("'", "''");
} else {
$trocar[] = Array("'", "\'");
$trocar[] = Array("\"", "\\\"");
$trocar[] = Array("\\", "\\\\");
}
foreach($trocar AS $troca) {
foreach($GLOBALS["HTTP_GET_VARS"] As $name => $var) {
$GLOBALS["HTTP_GET_VARS"][$name] = str_replace($troca[1], $troca[0], $var);
$GLOBALS["_GET"][$name] = str_replace($troca[1], $troca[0], $var);
}
foreach($GLOBALS["HTTP_COOKIE_VARS"] As $name => $var) {
$GLOBALS["HTTP_COOKIE_VARS"][$name] = str_replace($troca[1], $troca[0], $var);
$GLOBALS["_COOKIE"][$name] = str_replace($troca[1], $troca[0], $var);
}
foreach($GLOBALS["HTTP_POST_VARS"] As $name => $var) {
$GLOBALS["HTTP_POST_VARS"][$name] = str_replace($troca[1], $troca[0], $var);
$GLOBALS["_POST"][$name] = str_replace($troca[1], $troca[0], $var);
}
}
if (ini_get("register_globals")) {
$order = ini_get("variables_order");
for($i = 0;$i < strlen($order);$i++) {
$kind_array = null;
switch ($order[$i]) {
case "E":
if (isset($GLOBALS["HTTP_ENV_VARS"])) {
$kind_array = $GLOBALS["HTTP_ENV_VARS"];
}
break;
case "G":
if (isset($GLOBALS["HTTP_ENV_VARS"])) {
$kind_array = $GLOBALS["HTTP_ENV_VARS"];
}
break;
case "P":
if (isset($GLOBALS["HTTP_POST_VARS"])) {
$kind_array = $GLOBALS["HTTP_POST_VARS"];
}
break;
case "C":
if (isset($GLOBALS["HTTP_COOKIER_VARS"])) {
$kind_array = $GLOBALS["HTTP_COOKIE_VARS"];
}
break;
case "S":
if (isset($GLOBALS["HTTP_SESSION_VARS"])) {
$kind_array = $GLOBALS["HTTP_SESSION_VARS"];
}
break;
}
if (is_array($kind_array)) {
foreach($kind_array AS $var => $value) {
$GLOBALS[$var] = $value;
}
}
}
}
}
}
table_manager_no_magic_quotes_aux();
}
}
?>
If magic quotes isnt active this function wont do anything.
And if this function is already executed it wont execute again.