Ok quiero hacer un anti DDOS, porque los programitas estos no funcionan, mi propocito es coger la ip que aunque el atacante tenga proxy , ya lo hice, guardar la ip en un blog lo hice, solo me falta contar las veces que ataca en menos de 3 segundo y si superan las 10 o 5 , pues que lo guarde en el log y bloquee la ip, alguien tiene alguna idea ?
    
Código PHP:
Ver original- <?php 
- function getRealIP() 
- { 
-   
-    if( $_SERVER['HTTP_X_FORWARDED_FOR'] != '' ) 
-    { 
-       $client_ip =  
-          ( !empty($_SERVER['REMOTE_ADDR']) )-  ?  
 
-             $_SERVER['REMOTE_ADDR']  
-             :  
-             ( ( !empty($_ENV['REMOTE_ADDR']) )-  ?  
 
-                $_ENV['REMOTE_ADDR']  
-                :  
-                "unknown" ); 
-   
-       // los proxys van añadiendo al final de esta cabecera 
-       // las direcciones ip que van "ocultando". Para localizar la ip real 
-       // del usuario se comienza a mirar por el principio hasta encontrar  
-       // una dirección ip que no sea del rango privado. En caso de no  
-       // encontrarse ninguna se toma como valor el REMOTE_ADDR 
-   
-       $entries = preg_split('/[, ]/', $_SERVER['HTTP_X_FORWARDED_FOR']); 
-   
-       { 
-          if ( preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", $entry, $ip_list) ) 
-          { 
-             // http://www.faqs.org/rfcs/rfc1918.html 
-                   '/^0\./',  
-                   '/^127\.0\.0\.1/',  
-                   '/^192\.168\..*/',  
-                   '/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/',  
-                   '/^10\..*/'); 
-   
-             $found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]); 
-   
-             if ($client_ip != $found_ip) 
-             { 
-                $client_ip = $found_ip; 
-                break; 
-             } 
-          } 
-       } 
-    } 
-    else 
-    { 
-       $client_ip =  
-          ( !empty($_SERVER['REMOTE_ADDR']) )-  ?  
 
-             $_SERVER['REMOTE_ADDR']  
-             :  
-             ( ( !empty($_ENV['REMOTE_ADDR']) )-  ?  
 
-                $_ENV['REMOTE_ADDR']  
-                :  
-                "unknown" ); 
-    } 
-   
-    return $client_ip; 
-   
-   
- } 
-   
-   
-   
-   
-   
-   
-     function get_real_ip() 
-     { 
-   
-         if (isset($_SERVER["HTTP_CLIENT_IP"])) 
-         { 
-             return $_SERVER["HTTP_CLIENT_IP"]; 
-         } 
-         elseif (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) 
-         { 
-             return $_SERVER["HTTP_X_FORWARDED_FOR"]; 
-         } 
-         elseif (isset($_SERVER["HTTP_X_FORWARDED"])) 
-         { 
-             return $_SERVER["HTTP_X_FORWARDED"]; 
-         } 
-         elseif (isset($_SERVER["HTTP_FORWARDED_FOR"])) 
-         { 
-             return $_SERVER["HTTP_FORWARDED_FOR"]; 
-         } 
-         elseif (isset($_SERVER["HTTP_FORWARDED"])) 
-         { 
-             return $_SERVER["HTTP_FORWARDED"]; 
-         } 
-         else 
-         { 
-             return $_SERVER["REMOTE_ADDR"]; 
-         } 
-   
-     } 
-   
- function BaseFile(){ 
-   
- $BaseF = basename($_SERVER['PHP_SELF']); 
-   
- return $BaseFile; 
-   
-   
- }    
-   
-   
-   
- $ip = $_SERVER["REMOTE_ADDR"]; 
-   
-   
- ?> 
-   
- <?php //Ejemplo aprenderaprogramar.com, archivo escribir.php 
- $file = fopen("maybe.txt", "a"); 
- fwrite($file, "############ Nuevo Registro ############".- PHP_EOL );
 
- fwrite($file, "IP 1 : ".-  getRealIP () .-  PHP_EOL );
 
- fwrite($file, "IP 2 : ".-  get_real_ip () .-  PHP_EOL );
 
- fwrite($file, "IP 3 : ". $ip .-  PHP_EOL );
 
- fwrite($file, "Archivo : ".-  BaseFile () .- PHP_EOL );
 
-   
- ?> 
ese es lo que tengo 
PD: No puede ser en htaccess, debo hacerlo a traves de web.config