Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/08/2014, 06:32
Avatar de brimo300
brimo300
 
Fecha de Ingreso: agosto-2014
Ubicación: Mataró
Mensajes: 3
Antigüedad: 10 años, 2 meses
Puntos: 1
Respuesta: Tema de seguridad con php formularios, bd, etc.

Para evitar una injeccion SQL yo utilizo esta función para escapar los nombres propios de SQL

Código PHP:
$variable1=     filter_input(INPUT_POST"formulario");

// devuelve una cadena escapada de algunos caracteres que
// pudieran servir para un ataque de sql injection

function injection($cadena) {
    
$str_KeywordsSQL = array("select ","insert ","delete ","update ","union ");
    
$str_OperadoresSQL     = array("like ","and ","or ","not ","<",">","<>","=","<");
    
$str_DelimitadoresSQL     = array(";","(",")","'");
     
//Quitar palabras reservadas y operadores
for($i=0$i<count($str_KeywordsSQL); $i++) {
    
$cadena str_replace($str_KeywordsSQL[$i], "",strtolower($cadena) );
            }
            for(
$i=0$i<count($str_OperadoresSQL); $i++) {
                
$cadena str_replace($str_OperadoresSQL[$i], "",strtolower($cadena) );
            }
            for(
$i=0$i<count($str_DelimitadoresSQL); $i++) {
                
$cadena str_replace($str_DelimitadoresSQL[$i], "",strtolower($cadena) );
            }
     
            return 
$cadena;
        }
 
//Escapar las cadenas para avitar SQL Injection
$variable1injection($variable1);