Ver Mensaje Individual
  #8 (permalink)  
Antiguo 06/11/2005, 22:15
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
Funcion Terminada

Bueno amigos despues de muchas pruebas y como bien dice mi firma, ya lo consegui, si me autorizan me gustaria poner el código en las FAQ's para aquellos que quieran tener a su disposicion el mismo, usenlo como quieran y modifiquenlo como quieran a su gusto, guiense por los comentarios es sencillo, pero por lo menos a mi me dio efectividad.
aqui va:

Código PHP:
 <?php
function clean_bad_chars($char)
{
$ban=0;//Bandera para saber si estan ejecutando una Inyeccion SQL
$char_w_replaced stripslashes($char);//Guardamos la Inyeccion original para informacion a la BD
//Array con las palabras reservadas, para modificar a gusto :D
$hack_array = array("'"'"'";""UNION""union""DROP""drop""table""TABLE""SET""set""UPDATE""update""SELECT""select""-""--""MEMB_INFO""memb_info""memb__pwd""memb___id"); //Caracter por el que será reemplazada cada palabra reservada del sitio
$hack_replace ""//Separamos la cadena en un Array para poder hacer la comparacion y determinar si estan
//ejecutando o no una Inyeccion SQL
$char1=explode(" ",$char);
for(
$i=0;$i<count($char1);$i++)
{
 if(
in_array($char1[$i],$hack_array))//si se quiere se puede convertir todo a mayusculas para la comprobacion.
 
{
  
$ban=1;
 } 
}
 if (
$ban==1)
 {
  
$add="ESTAS HACKEANDO SI SI"
  
//guardar informacion en base de datos sobre el intento de hacking como IP, etc...
 
}
 else 
 {
  
$add="NO ESTAS HACKEANDO"
  
//seguir con los procesos del POST o GET sin guardar ips ni nada
 
}  
//reemplazamos las palabras reservadas
$char_replaced str_replace($hack_array$hack_replace$char);
//evitamos codigos html y espacios en blanco
$char_clean=htmlentities(trim($char_replaced)); //retornamos la cadena limpia para usar en nuestra consulta, o podemos devolver segun el resultado de ban
//un die para no ejecutar nada o como se les ocurra
 
return $char_clean.$add;
}
?>
Bueno espero que les sirva, lo hice para variable, osea para aplicarlo, se debera llamar a la funcion en cada variable GET o POST
Ahora ando ocupadillo con un sitio, pero despues lo hare para que pasen todas las variables que necesiten, ya sean GET o POST.

Saludillos.-
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-