Desabilitando Magic Quotes
A diretiva magic_quotes_gpc só pode ser desabilita em nÃvel de sistema, e não em tempo de execução. Em outras palavras, uso da função ini_set() não é uma opção.
Example#1 Desabilitando magic quotes no lado do servidor
Um exemplo que configuração dessa diretiva para Off (Desligada) no arquivo php.ini. Para detalhes adicionais, leia a seção do manual entitulada Como mudar os valores das configurações.
; Magic quotes ; ; Magic quotes para dados vindos via GET/POST/Cookie. magic_quotes_gpc = Off ; Magic quotes para dados gerados em tempo de execução,ex.: dados vindo de SQL, de chamadas à exec(), etc. magic_quotes_runtime = Off ; Usar magic quotes no estilo Sybase (escapar ' com '' ao invés de \'). magic_quotes_sybase = Off
Se acesso à configuração do servidor não estiver disponÃvel, uso do arquivo .htaccess também é uma opção. Por exemplo:
php_flag magic_quotes_gpc Off
No interesse de escrever código portável (código que funciona em qualquer ambiente), como onde configurar a opção em nÃvel de servidor não for possÃvel, aqui está um exemplo de como desabilitar magic_quotes_gpc em tempo de execução. Esse método é ineficiente então é preferÃvel configurar as diretivas apropriadas em outros lugares.
Example#2 Disabilitando magic quotes em tempo de execução
<?php
if (get_magic_quotes_gpc()) {
function stripslashes_deep($value)
{
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);
return $value;
}
$_POST = array_map('stripslashes_deep', $_POST);
$_GET = array_map('stripslashes_deep', $_GET);
$_COOKIE = array_map('stripslashes_deep', $_COOKIE);
$_REQUEST = array_map('stripslashes_deep', $_REQUEST);
}
?>