Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/11/2005, 18:03
Znet
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 22 años, 1 mes
Puntos: 0
Codigo Anti Sql Injection

Hola amigos, estoy a fines del desarrollo de las inyecciones SQL
Para esto cree una funcion para pasar a cada variable ya sea POST o GET

El codigo es el siguiente y despues les comento mi traba.


Código PHP:
 <?php function clean_bad_chars($char,$do)
$hack_array = array("'"'"'";""UNION""union""DROP""drop""table""TABLE""SET""set""UPDATE""update""SELECT""select""-""--""MEMB_INFO""memb_info""memb__pwd""memb___id");
$hack_replace "";
if(
ereg("",$char,$hack_array))
{
$add="ESTAS HACKEANDO SI SI"
}
else 
{
$add="NO ESTAS HACKEANDO"
}
$char_w_replaced $char;
$char_replaced str_replace($hack_array$hack_replace$char);
$char_clean=htmlentities(trim($char_replaced)); 
 
if (
$do==1)
{
$char=$char_w_replaced;
}
elseif (
$do==0)
{
 
 
$char=$char_clean.$add;
} return 
$char;
?>
Bueno si a la variable $do le pasamos 0 limpia todo y devuelve la cadena limpia, ahora si le pasamos 1 devuelve la cadena original, esto tiene como finalidad informacion para la base datos donde pienso almacenar el ip y la consulta que quisieron ejecutar.
Ahora, estoy tratando de que si ejecutaron codigo malicioso, osea alguna inyeccion sql, me lo detecte, para que dentro de la funcion me almacene en la base de datos todo.
Veran que concateno con la salida cuando $do tiene el valor 0 la variable $add, esto es solo una prueba para saber si me funciona la deteccion de una iyeccion, espero haberme explicado, necesito que me ayuden con esto y bueno queda la funcion lista, ahora estoy complicado con el tiempo, pero cuando tenga todo listo la voy a dejar perfecta para compartirla, y hasta la pienso implementar en POO.
Desde ya muchas gracias y espero les sirva la parte que funciona.
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-

Última edición por Znet; 04/11/2005 a las 16:29