Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/05/2010, 11:38
refreegrata
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 16 años, 3 meses
Puntos: 27
como evitar SQLinjection(novato)

Hola, como están. Miren resulta que estoy aprendiendo python, y resulta que no estoy seguro del todo(a pesar de haber leido algo por internet), de como evitar algun intento de inyección sql.

Uso postgresql con psycopg2, y voy a realizar una intruccion del tipo

conexion.sqlSentencia(self, 'insert into tabla (informacion) VALUES (%s)',i)

¿como me aseguro de que i no es una mailiciosa cadena?

Cuando estaba en php, lo hacia de la manera:

Código PHP:
function addslashes_array($_input_arr)
{
        if(
is_array($_input_arr))
        {
                
$tmp = array();
                foreach (
$_input_arr as $key1 => $val)
                        
$tmp[$key1] = $this->addslashes_array($val);
                return 
$tmp;
        }
        else return 
addslashes($_input_arr);
}
if(!
get_magic_quotes_gpc())
{
        
$input_cl_arr = array();
        foreach (
$_POST as $input_cl_key => $input_cl_arr)
                
$_POST[$input_cl_key] = WhiteInputReplace_array($input_cl_key,addslashes_array($input_cl_arr));
        
$input_cl_arr = array();
        foreach (
$_GET as $input_cl_key => $input_cl_arr)
                
$_GET[$input_cl_key] = WhiteInputReplace_array($input_cl_key,addslashes_array($input_cl_arr));
}
else
{
        
$input_cl_arr = array();
        foreach (
$_POST as $input_cl_key => $input_cl_arr)
                
$_POST[$input_cl_key] = WhiteInputReplace_array($input_cl_key,$input_cl_arr);
        
$input_cl_arr = array();
        foreach (
$_GET as $input_cl_key => $input_cl_arr)
                
$_GET[$input_cl_key] = WhiteInputReplace_array($input_cl_key,$input_cl_arr);

Mi duda sería esa. espero puedan ayudarme