Foros del Web » Programando para Internet » PHP »

Validar para consulta

Estas en el tema de Validar para consulta en el foro de PHP en Foros del Web. Hola ssssamigos, me gustaría hacer dos preguntas: La primera: ¿¿Cuales son los caracteres que debo validar para hacer la consulta de mysql después que la ...
  #1 (permalink)  
Antiguo 22/08/2003, 22:16
 
Fecha de Ingreso: mayo-2003
Ubicación: Buenos Aires
Mensajes: 97
Antigüedad: 20 años, 11 meses
Puntos: 0
Validar para consulta

Hola ssssamigos, me gustaría hacer dos preguntas:

La primera:

¿¿Cuales son los caracteres que debo validar para hacer la consulta de mysql después que la persona manda su form??

La que tengo que me parece imprescindible es prohibir las comillas simples para que no jodan con eso de sql inyection, que otras cosas debo validar por seguridad de este tipo??

La segunda:

¿¿Es una buena práctica de programación hacer una función que por cada consulta que yo haga me abra la bd, haga la consulta y la cierre??

Gracias, al que me conteste le mando 3 patacones
  #2 (permalink)  
Antiguo 23/08/2003, 01:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si trabajas con Mysql: mysql_escape_string() te solventa la mayoría de problemas con ese típo de caracteres como comillas y algunos más ...

Todo esto depende de como estés usando la directiva magic_quotes_gpc en tu configuración de PHP .. Por defecto y la mayoría de casos está a ON ... lo cual quiere decir que PHP "escapa" por tí caractes como comillas y algunos más (/) ... Pero, "por si acaso" .. si usas la función mencionada para Mysql ..o en su defecto urlencode() / urldecode() te evitas esos problemas.

Pero, si realmente no necesitas de algunos caracteres (sobre todo fuera del ASCII común) .. mejor que te hagas cualquier tipo de filtro para eliminarlos (o en su defecto avisar al usuario que su texto contiene caracteres no válidos) .. Con expresiones regulares puedes hacer esto último ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 23/08/2003, 22:44
 
Fecha de Ingreso: mayo-2003
Ubicación: Buenos Aires
Mensajes: 97
Antigüedad: 20 años, 11 meses
Puntos: 0
Gracias cluster por la respuesta, tengo otra pregunta teórica sobre la validación.

YO hice que en cada página que el usuario carga , llame antes de hacer cualquier cosa a una función que revisa absolutamente todas las variables que en algun momento se utilizan para hacer una consulta mysql (por ejemplo un textbox).

Uso isset y un for para revisar un array con todas las variables posibles, si encuentra una variable con ¨algo raro¨ lo avisa, eso hago en todas las páginas.

Está bien esa práctica? o es "poco seria"??

Saludos
__________________
Mail: Su usuario es "Admin"
Usuario : estoy poniendo "Admin" y no me lo toma.
HelpDesk : lo pone sin las comillas no???
Usuario : ah, que bol..
  #4 (permalink)  
Antiguo 23/08/2003, 23:17
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 21 años, 5 meses
Puntos: 1
tambien para que no te molesten algunos caracteres para guardarlos en la bd puedes ocupar htmlspecialchars();
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
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 14:37.