Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/08/2006, 10:13
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por djreficul Ver Mensaje
Muchas gracias Cluster, siempre he usado el Addslashes pero no sabía nada del magic_quote_gpc. Supongo q x eso cuando recogía algo con caracteres especiales salían tantas "\" en lugar de una sola.

Pues nada, eso significa q tengo q renovar algunos scripts, jejeje.

Saludos.

AÑADO:

Con lo q acabas de enseñarme, verías correctas estas funciones?

Código PHP:
function marcar ($content) {
    
$content = (! get_magic_quotes_gpc ()) ? unhtmlentities (addslashes ($content)) : $content;
    return 
$content;
}
function 
desmarcar ($content) {
    
$content stripslashes (htmlspecialchars ($content);
    return 
$content;

Lo normal es que los servidores usen "magic_quote_gpc" a ON . .esto significa que todo dato que pasa por el URL o en formularios o son cookies (he de ahí g de GET .. p de POST y c de COOKIE .. eso es lo que significan esas letras) se "auto escapen" .. es decir .. PHP añade ya un \ a caracteres como comillas y demás ..

Pero, .. aunque sea esto lo "común" .. no te puedes fiar si el servidor X de turno tiene esa configuración como tu lo esperas .. lo ideal es "preguntar" (via la función adecuada) su valor para tomar la acción pertinente. También puedes "forzar" el estado de esa directiva con la función ini_set() .. (pero a veces no puedes "forzar" el estado de esa directiva .. así que mejor sigue siendo .. "ver" que estado tiene y actuar en consecuencia).

Esto sucede en general con muchas funcionalidades de PHP .. PHP es "altamente" configurable y por ende afecta mucho esta configuración a como se comporte cierto código.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.