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.

[cc lang=”php”]
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”;
}
[/cc]

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!

Librería LCD para PIC 16F876A en el PORTB. PICC
30 August, 2011
Configurando un Reverse Proxy con Apache
6 November, 2013
Ha nacido una nueva comunidad, www.underhack.net
15 January, 2010
6 Comments
  • Reply
    Nayade
    28 January, 2011 at 8:52 AM

    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!

    • Reply
      Lordblacksuca
      1 February, 2011 at 11:43 PM

      No hay problema, hagamos intercambio de links.

  • Reply
    Jorge
    21 March, 2014 at 3:11 AM

    Gracias, me ha sido de mucha ayuda 🙂

  • Reply
    Adrián
    5 November, 2015 at 6:24 AM

    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!

    • Reply
      Lordblacksuca
      5 June, 2016 at 11:47 AM

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

  • Reply
    juan antonio
    8 April, 2016 at 2:54 PM

    ohhhhhhhh viva tu picha!!

Leave a Reply

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