Foros del Web » Programando para Internet » PHP »

Tratar inyecciones SQL

Estas en el tema de Tratar inyecciones SQL en el foro de PHP en Foros del Web. Hola, tengo hecho un sistema de comentarios y para evitar inyecciones SQL o XSS o similares tengo hecha esta funcion: Código: function make_safe_pro($v) { //Comprueba ...
  #1 (permalink)  
Antiguo 06/07/2007, 07:11
Avatar de shakaran  
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 8 meses
Puntos: 7
Tratar inyecciones SQL

Hola, tengo hecho un sistema de comentarios y para evitar inyecciones SQL o XSS o similares tengo hecha esta funcion:

Código:
function make_safe_pro($v)
{	//Comprueba caracteres raros y los neutraliza (como OR 1=1) para evitar inyeccion SQL.
	$v=htmlentities($v);
  	$v=addslashes(trim($v));
   	return $v;
}
Tambien como alternativa tengo hecha esta:
Código:
function make_safe($v)
{	//Comprueba caracteres raros y los neutraliza (como OR 1=1) para evitar inyeccion SQL.
   	return addslashes(trim($v));
}
EL problema es que creo que es demasiado "efectiva", porque no he conseguido que pase ninguna inyeccion SQL, pero por contra cuando mis usuarios postean un comentario con los caracteres como \ o < o > o " los parsea como \\, \<, \> \" respectivamente.

Entonces me queda fatal que en un comentario un usuario no pueda poner "esto es un refran" o 2>5 o expriones asi.

Como podria solucionar esto? porque he visto otras y no "censuran" de esta forma los comentarios.
__________________
Quijost Backend Engineer - www.quijost.com - Hosting rápido, eficiente y profesional
Blog: www.shakaran.net
  #2 (permalink)  
Antiguo 06/07/2007, 07:46
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Re: Tratar inyecciones SQL

Pues una vez que allas usado tus funciones, al momento de mostrar la información para eliminar las "\" puedes usar stripslashes().

Saludillos.
  #3 (permalink)  
Antiguo 06/07/2007, 07:54
Avatar de shakaran  
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 8 meses
Puntos: 7
Re: Tratar inyecciones SQL

Gracias! No me esperaba que fuera una solución tan sencilla, era justo lo que necesitaba.
__________________
Quijost Backend Engineer - www.quijost.com - Hosting rápido, eficiente y profesional
Blog: www.shakaran.net
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 12:46.