Solución a los ataques SQL-Injection y de etiquetas html, php etc.
by Lordblacksuca on Dec.11, 2010, under General
Este pequeño script debe ir arriba de TODOS los archivos php que requieran interacción del usuario por medio de los metodos POST, GET y REQUEST.
Esto, eliminar las etiquetas html que puedan ser ingresadas en los campos de datos y tambien evita las sql-injection.
$_POST [ $variable ] = mysql_real_escape_string($variable);
$_POST [ $variable ] = str_replace ( array("< ",">","[","]","*","^"), "" , $_POST[ $variable ]);
//$variable=$_POST [ $variable ];
//echo "POST:$variable";
}
foreach( $_REQUEST as $variable){
$_REQUEST [ $variable ] = mysql_real_escape_string($variable);
$_REQUEST [ $variable ] = str_replace ( array("< ",">","[","]","*","^"), "" , $_REQUEST[ $variable ]);
//$variable=$_REQUEST [ $variable ];
//echo "REQUEST:$variable";
}
foreach( $_GET as $variable){
$_GET [ $variable ] = mysql_real_escape_string($variable);
$_GET [ $variable ] = str_replace ( array("< ",">","[","]","*","^"), "" , $_GET[ $variable ]);
//$variable=$_GET [ $variable ];
//echo "GET:$variable";
}
Básicamente lo que el script hace es leer variable por variable, de cualquiera de los 3 métodos y añadir un caracter de escape, “\” a cualquier caracter peligroso para mysql, y eliminar etiquetas html y demás.
Por ejemplo:
El texto: ‘OR=’ ‘ es convertido a \’OR=\’ \’ por lo que pierde efecto.
El texto <h1>HOLA</h1> es convertido a h1HOLAh1 por lo que también pierde efecto.
Con este script nos evitamos tener que proteger todos los campos manualmente uno por uno.
Recuerda que si te sirvió, comentá.
Saludos y safe programming!
Related posts:



January 28th, 2011 on %H:%M 08Fri, 28 Jan 2011 08:52:59 +000059.
Hola
Me llamo Nayade, soy administradora de un directorio y tengo que decir que me ha gustado su página LordBlackSuca. Por ello, me encantaría contar con tu sitio en mi directorio, consiguiendo que mis visitantes entren también en su web.
Si estás de acuerdo. Házmelo saber.
Suerte con tu web y que tengas un excelente fin de semana!
February 1st, 2011 on %H:%M 11Tue, 01 Feb 2011 23:43:10 +000010.
No hay problema, hagamos intercambio de links.