Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/10/2005, 00:58
Avatar de Master Solution
Master Solution
 
Fecha de Ingreso: octubre-2005
Mensajes: 51
Antigüedad: 18 años, 6 meses
Puntos: 1
Primero que nada, SQL Injection no tiene nada que ver con la inyeccion de codigo HTML.

Si queres evitar inyecciones SQL, podes usar addslashes(), siempre igual te conviene chequear que el servidor no lo este haciendo automaticamente, con la funcion get_magic_quotes_gpc().

Para evitar HTML Injection, podes usar como dijeron arriba la funcion htmlentities(), pero si despues usas html_entity_decode() las devolves a su estado natural, por lo que vas a ser vulnerable.

Tambien podes usar htmlspecialchars(), que creo que es mas conveniente, ya que htmlentities() tambien te va a convertir los acentos, y demas.

Pero para tu caso, que queres permitir HTML, pero evitar la inyeccion de codigo, creo que lo mejor seria que uses la funcion strip_tags(), pasandole como parametro, los tags que SI queres que esten permitidos.

Ejemplo:

Código:
strip_tags($texto, '<b>')
Pero igual tampoco es tan seguro, porque pueden tener tags anidados, y esta funcion no realiza una comprobacion muy exausta.

Asi que, como recomendacion, usar bbcode. O sino chequeate este script, realmente yo no lo uso, pero recien hice un par de pruebas y parece bueno.

http://pixel-apes.com/safehtml
__________________
-=[ 3KLabs ]=-
-=[ Diseño - Programación - Desarrollo ]=-
-=[ Posicionamiento en Buscadores ]=-
-=[ Hosting de Calidad ]=-