Foros del Web » Programando para Internet » PHP »

urgente! problema con magic quotes

Estas en el tema de urgente! problema con magic quotes en el foro de PHP en Foros del Web. no entiendo lo q pasa, mi host tiene activado magic quotes gpc y cuando intento enviar via formulario algo con comillas simples no me escapa ...
  #1 (permalink)  
Antiguo 16/08/2005, 20:27
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 13 años, 5 meses
Puntos: 4
urgente! problema con magic quotes

no entiendo lo q pasa, mi host tiene activado magic quotes gpc y cuando intento enviar via formulario algo con comillas simples no me escapa los caracteres y me da error!! las comillas dobles y las barras invertidas funcionan!! que puedo hacer???

gracias

pd: acabo de probar y parece q tampoco me escapa las barras invertidas!

Última edición por SiR.CARAJ0DIDA; 16/08/2005 a las 20:34
  #2 (permalink)  
Antiguo 16/08/2005, 20:54
 
Fecha de Ingreso: junio-2002
Mensajes: 243
Antigüedad: 15 años, 6 meses
Puntos: 1
hola, una opción es utilizar la función ereg_replace()

por ejemplo...

$variable = ereg_replace("'|\"","´",$_POST['var_formulario']);

donde el 1er parámetro es los carácteres o cadena a buscar, el 2do el carácter o cadena a reemplazar y el 3o el string donde buscar.

en este caso reemplazo la comilla simple (') y doble (") por el acento (´)

el carácter | sirve como si fuera un 'OR' o un || de un if

y la barra invertida se usa de comodín para poder poner en la búsqueda las comillas (").

espero q te sirva de algo.

Salu2.
  #3 (permalink)  
Antiguo 16/08/2005, 20:59
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 13 años, 5 meses
Puntos: 4
ya se expresiones regulares pero no viene al caso usar un ereg_replace por cada variable enviada por POST o GET si tengo los magic quotes ON, se supone que debe funcionar escapando las comillas simples y dobles y las contrabarras!!!
y ademas porque reemplazas por el "´", q tiene q ver eso?? si mando unas comillas es porque quiero unas comillas y no otra cosa!!
  #4 (permalink)  
Antiguo 16/08/2005, 21:10
 
Fecha de Ingreso: junio-2002
Mensajes: 243
Antigüedad: 15 años, 6 meses
Puntos: 1
bueno bueno no te me enfades xD simplemente por seguridad prefiero utilizar el acento ya q te podrian provocar una inyección de codigo a través del formulario...todo depende de lo importante q sea ese formulario...

más vale prevenir q curar...ya se q es un coñazo hacer eso para cada variable...pero no está de más.

Por cierto el magic cuotes solo sirve para el script php o tb funcionaria con código mysql?

Salu2.

Última edición por lotusxxl; 16/08/2005 a las 21:17
  #5 (permalink)  
Antiguo 16/08/2005, 21:26
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 13 años, 5 meses
Puntos: 4
Código PHP:
$sql "INSERT INTO mitabla (comentario, id) VALUES ('".$_POST['Comentario']."',".$_GET['id'].")"
eso no anda con magic quotes??? siempre me anduvo!! se supone q todas las variables $_POST son escapadas..

aca el problema no es que nose como escapar las comillas, el magic quotes no funciona como se debe o soy muy estupido y no entiendo su funcionamiento..

pd: probe usando mysql_real_escape_string() y no escapa nada....
  #6 (permalink)  
Antiguo 17/08/2005, 06:02
 
Fecha de Ingreso: junio-2002
Mensajes: 243
Antigüedad: 15 años, 6 meses
Puntos: 1
Bueno me he estado mirando lo del magic quotes ya q era una cosa q no sabia muy bien en q se basaba...

has probado con get_magic_quotes_gpc() para saber si está bien activado el magic quotes?

si no lo consigues siempre puedes usar addslashes q es lo q hace magic cuotes.

Salu2.
  #7 (permalink)  
Antiguo 17/08/2005, 10:50
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 13 años, 5 meses
Puntos: 4
phpinfo() me dice q esta activado..

ayuda por favor, tengo un sitio visitado por mucha gente y tiene este problema!! si agrego addslashes a todo con magic quotes ON me va a escapar los caracteres 2 veces se supone, los addslashes de deben aplicar de esta forma:

if (!get_magic_quotes_gpc()) addslashes(todos los $_POST)
else nada.

pero los magic quotes estan activados!! y no funciona!!!
  #8 (permalink)  
Antiguo 17/08/2005, 11:00
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 15 años, 1 mes
Puntos: 2
Hola SiR.CARAJ0DIDA, si tienes activado a On el magic_cuotes_gpc no debería darte ningun problema..., si no tienes acceso a la configuración del servidor, te recomiendo que le envíes un e-mail al departamento de sistemas de tu hosting, que este en On no quiere decir que funcione correctamente.

Un saludo.
  #9 (permalink)  
Antiguo 17/08/2005, 11:40
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 13 años, 5 meses
Puntos: 4
nooo ya descubri el problema y ahora quien pora ayudarme????? -_-
en todas las paginas de mi web incluyo el global.php del foro para obtener la info del usuario, ahi esta el problema nose bien que hace pero incluyendo ese archivo los magic quotes quedan inservibles...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:45.