Solución a los ataques SQL-Injection y de etiquetas html, php etc.

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.

foreach( $_POST as $variable ){
$_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!

Diego Sucaria

Software & Hardware Developer, Network Administrator, SysAdmin. Estudiante de Ingeniería en Computación de la Universidad Católica de Córdoba

6 Comments

  1. Nayade   •  

    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!

    • Lordblacksuca   •     Author

      No hay problema, hagamos intercambio de links.

  2. Jorge   •  

    Gracias, me ha sido de mucha ayuda 🙂

  3. Adrián   •  

    Gracias, muy útil. Una pregunta, ¿Es correcta la siguiente línea de tu publicación?

    El texto: ‘OR=’ ‘ es convertido a ‘OR=’ ‘ por lo que pierde efecto.

    Gracias!

    • Lordblacksuca   •     Author

      El editor de wordpress elimino las barras :(. (se le antepone una barra invertida a cada comilla)

  4. juan antonio   •  

    ohhhhhhhh viva tu picha!!

Leave a Reply

Your email address will not be published. Required fields are marked *