Example #1
0
 public static function load()
 {
     require_once dirname(__FILE__) . '/Rules/Bbclone.php';
     Bouncer_Rules_Bbclone::load();
     require_once dirname(__FILE__) . '/Rules/Basic.php';
     Bouncer_Rules_Basic::load();
     require_once dirname(__FILE__) . '/Rules/Browser.php';
     Bouncer_Rules_Browser::load();
     require_once dirname(__FILE__) . '/Rules/Robot.php';
     Bouncer_Rules_Robot::load();
     require_once dirname(__FILE__) . '/Rules/Request.php';
     Bouncer_Rules_Request::load();
     require_once dirname(__FILE__) . '/Rules/Fingerprint.php';
     Bouncer_Rules_Fingerprint::load();
     require_once dirname(__FILE__) . '/Rules/Network.php';
     Bouncer_Rules_Network::load();
     require_once dirname(__FILE__) . '/Rules/Geoip.php';
     Bouncer_Rules_Geoip::load();
 }
Example #2
0
 public static function country_code_by_addr($addr, $host)
 {
     // first run without geoip extension
     if (empty(self::$_gi) && !function_exists('geoip_country_code_by_name')) {
         require_once dirname(__FILE__) . "/../lib/geoip.inc";
         self::$_gi = geoip_open(dirname(__FILE__) . "/../lib/geoip.dat", GEOIP_STANDARD);
     }
     // without geoip extension
     if (isset(self::$_gi) && function_exists('geoip_country_code_by_addr')) {
         $code = geoip_country_code_by_addr(self::$_gi, $addr);
         // with geoip extension
     } elseif (function_exists('geoip_country_code_by_name')) {
         $code = geoip_country_code_by_name($host);
     }
     if (empty($code) || $code == 'AP' || $code == 'A1' || $code == 'A2') {
         $code = 'numeric';
     }
     $code = strtolower($code);
     return $code;
 }