Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/07/2007, 07:11
Avatar de shakaran
shakaran
 
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 9 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