Como bien dice el mantra filter input – escape output
Una de las maneras que tenemos para filtrar los valores que nos llegan antes de usarlos, por ejemplo en una consulta mysql es por medio de la función mysql_real_escape_string($string, $link).
He desarrollado una pequeña función la cual si le pasamos un array o un string nos lo filtra. Esta función me es muy útil cuando envió a una pagina o bien vía $_GET o bien $_POST.
function sanitize( &$vars ) { global $con; // identificador de la conexion mysql if ( is_array( $vars ) ) { foreach ( $vars as &$var ) { mysql_real_escape_string( $var, $con ); } } elseif ( is_string( $vars ) ) { mysql_real_escape_string( $vars, $con ); } } // Aquí llamamos a la función - ejemplo if( isset( $_GET ) ) { sanitize( $_GET ); } if ( isset( $_POST ) ) { sanitize( $_POST ); }
De esta manera si tenemos un fichero con funciones ponemos esta y llamamos a la función en las cabeceras de los ficheros donde recibamos datos y cuando los tratemos ya los tendremos saneados para trabajar con ellos.
+Info: http://es2.php.net/manual/en/function.mysql-real-escape-string.php