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!
6 Comments
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!
No hay problema, hagamos intercambio de links.
Gracias, me ha sido de mucha ayuda 🙂
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!
El editor de wordpress elimino las barras :(. (se le antepone una barra invertida a cada comilla)
ohhhhhhhh viva tu picha!!