Desactivación de Comillas Mágicas

Puede que la directiva magic_quotes_gpc solo pueda ser desactivada en el nivel de sistema, y no en tiempo de ejecución. En otras palabras, usar ini_set() no es posible.

Ejemplo 31-1. Desactivación de comillas mágicas del lado del servidor

Un ejemplo que define el valor de estas directivas a Off en php.ini. Para detalles adicionales, lea la sección del manual titulada Cómo modificar los parámetros de configuración.

; Comillas magicas
;

; Comillas magicas para datos GET/POST/Cookie de entrada.
magic_quotes_gpc = Off

; Comillas magicas para datos generados en tiempo de ejecucion,
; p.ej. desde SQL, exec(), etc
magic_quotes_runtime = Off

; Usar comillas magicas tipo Sybase (escapar ' con '' en lugar de \').
magic_quotes_sybase = Off

Si el acceso a la configuración del servidor no se encuentra disponible, el uso de .htaccess es también una opción. Por ejemplo:

php_flag magic_quotes_gpc Off

Con el propósito de escribir código portable (código que funciona en cualquier entorno), por ejemplo si la configuración en el nivel del servidor no es posible, he aquí un ejemplo de cómo deshabilitar magic_quotes_gpc en tiempo de ejecución. Este método es ineficiente así que es preferible definir las directivas apropiadas en algún otro lugar.

Ejemplo 31-2. Deshabilitir comillas mágicas en tiempo de ejecución

<?php
if (get_magic_quotes_gpc()) {
    function
stripslashes_profundo($valor)
    {
        
$valor = is_array($valor) ?
                    
array_map('stripslashes_profundo', $valor) :
                    
stripslashes($valor);

        return
$valor;
    }

    
$_POST = array_map('stripslashes_profundo', $_POST);
    
$_GET = array_map('stripslashes_profundo', $_GET);
    
$_COOKIE = array_map('stripslashes_profundo', $_COOKIE);
}
?>

Hosting by: hurra.com
Generated: 2007-01-26 18:00:52