Evitar sql injection y xss

Claudio Salazar csalazar en alumnos.inf.utfsm.cl
Jue Sep 20 15:50:55 CLT 2007


Raul Perez escribió:
> Salud a todos
>
> Tengo mysql 5 y phpp 5 en un servidor con centos
> La pregunta es que codigo han implementado ustedes para
> asegurar sus aplicaciones en php para evitar injection de sql y xss
>
> Intente con mysql real escape string pero no se por que no me funciona
>
> Puedo desarrollar una funcion pero me da temor de que deje algun ueco 
> de seguridad
>
> Saludos
> RAUL
Lo importante para prevenir XSS es la validacion de los datos, sobre 
todo los que son mostrados por pantalla y si bien se pueden crear 
funciones con expresiones regulares para detectar patrones, los vectores 
de ataque cada dia se renuevan y expresiones regulares son facilmente 
esquivables.
Para prevenir XSS puedes ocupar funciones como htmlspecialchars(), 
addslashes() que combinadas dan buenos resultados.

Por que no te funciona mysql_real_escape_string() ?
Solo sirve para "sanitizar" los datos que se ingresan en las consultas, 
antes de aplicar mysql_query().
Mas info en 
http://www.php.net/manual/es/function.mysql-real-escape-string.php .

Tambien podrias ver otras aplicaciones como ModSecurity o Core Grasp que 
añaden seguridad a aplicaciones web.

Saludos.


Más información sobre la lista de distribución Linux