Saneando inputs – PHP:MySQL Tips

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

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s