code.fastix.org

Dateiansicht:

Datei:Projekte -> PHP:check_blocked_ip -> check_blocked_ip.php
md5:efb081e1fc5b333a766cfc0d8fcc5e84
sha1:6f1d127823e8daa01c6c5916b7075a1bfd932ff3
Download-Link:Download
  1. <?php
  2. # main
  3.    
  4.     if ( ! isset( $_GET['check'] ) ) {
  5.         echo "ERROR: NO IP-GIVEN. ### USAGE: SET ?check=IPv4";
  6.         exit;
  7.     }
  8.     $_GET['check'] = ip2dec( trim( $_GET['check'] ) );
  9.     if ( false === $_GET['check'] ) {
  10.         echo "<pre>ERROR: Not a IPv4-Address: " , $ipOut , "</pre></body></html>";
  11.         exit;
  12.     }
  13.  
  14.     $ips = explode( "\n" , `/opt/fwlist` );
  15.     foreach( $ips as $ip ) {
  16.         $ip = trim( $ip );
  17.         if( $ip ) {
  18.             if( false === strpos( $ip , '/' ) ) {
  19.                 $ip      = $ip . '/32';
  20.                 $firstIP = ip2dec( $ip );
  21.                 $lastIP  = $firstIP;
  22.                 $netMask = 32;
  23.             } else {
  24.                 list ( $firstIP, $netMask ) = explode( '/' , $ip );
  25.                 $firstIP = ip2dec( $firstIP );
  26.                 $lastIP  = $firstIP + pow( 2 , 32-$netMask );
  27.             }
  28.             if( $_GET['check'] >= $firstIP && $_GET['check'] <= $lastIP ) {
  29.                                 header( 'Content-Type: text/plain' );
  30.                 echo 'BLOCKED';
  31.                 exit;
  32.             }
  33.         }
  34.     }
  35.     header( 'Content-Type: text/plain' );
  36.     echo 'NOT BLOCKED';
  37.     exit;
  38.  
  39. function ip2dec( $ip ) {
  40.     return sprintf( '%u', ip2long( $ip ) );
  41. }