Foros del Web » Programando para Internet » PHP »

¿Cuando escapar cadena?

Estas en el tema de ¿Cuando escapar cadena? en el foro de PHP en Foros del Web. Hola a todos, soy nuevo en el foro y tengo mi primera consulta. Todavía no tengo muy claro cuando escapar string o cuando no. O ...
  #1 (permalink)  
Antiguo 07/03/2013, 20:20
 
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 7
Antigüedad: 11 años, 2 meses
Puntos: 0
Pregunta ¿Cuando escapar cadena?

Hola a todos, soy nuevo en el foro y tengo mi primera consulta.

Todavía no tengo muy claro cuando escapar string o cuando no.

O si desarrollo un sistema con codeigniter es necesario? como seria necesario escapar de manera correcta en una consulta? o cuando no es necesario?

Espero que me saquen las dudas porfavor.

De antemano muchas gracias
  #2 (permalink)  
Antiguo 08/03/2013, 07:39
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: ¿Cuando escapar cadena?

Es necesario escapar una consulta cuando puede contener caracteres que resulten ambiguos para el lenguage de programación....

Si la consulta se genera integramente con textos que generas tu tendrás bien controlado cuando puede ser necesario (si va a haber ' apostrofes o " dobles comillas por ejemplo).

Si la query se construye apartir de datos entrados por el usuario es mucho mas necesario escapar puesto que no sabes lo que te van a poner... (si un usuario como username escribe pepito" OR "a"="a y no lo escapas bien la query de logueo puede acabar siendo

SELECT user FROM users WHERE password="flsdkjflkdjflsdj" AND username="pepito" OR "a"="a";

con lo que la seguridad puede quedar tocada...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 08/03/2013 a las 07:45

Etiquetas: escape, mysql, sentencia, sql
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 18:19.