function SpamCheckIPBL($bl, $ip) { global $log_common, $log_ua; $obj_bl = new SPAMBL(); if ($obj_bl->BlackCheck($ip, $log_ua)) { return true; } $obj = new IPBL(); // $obj->setBlackList( $obj->getConfig(CONFIG_SPAM_BL, 'IP,HOST,UA') ); if (empty($bl) || !is_array($bl)) { $obj->setBlockList($obj->getConfig(CONFIG_SPAM_BLOCKLIST, 'IP')); } else { $obj->setBlockList($bl); } $config = new Config(CONFIG_SPAM_WL_PRIVATE_NET); $config->read(); $private_ip = $config->get('IP'); $dynm_host = $config->get('DYNAMIC_HOST'); unset($config); $dynm_ip = array(); foreach ($dynm_host as $host) { $tmp = gethostbyname($host); if ($host == $tmp) { continue; } // IPが求まらない $dynm_ip[] = $tmp; } if (!empty($log_common['nolog_ip'])) { $obj->setMyNetList(array(array_merge($private_ip, $log_common['nolog_ip'], $dynm_ip))); } else { $obj->setMyNetList(array(array_merge($private_ip, $dynm_ip))); } $hosts = !is_array($ip) ? array($ip) : $ip; $i = 0; foreach ($hosts as $host) { $obj->setName($host); if ($obj->isListed()) { return true; } if (SPAM_MAX_COUNTER == 0) { continue; } $i++; if ($i > SPAM_MAX_COUNTER) { return false; } } return false; }
function MyNetCheck($ip) { global $log_common, $log_ua; $config = new Config(CONFIG_SPAM_WL_PRIVATE_NET); $config->read(); $private_ip = $config->get('IP'); $dynm_host = $config->get('DYNAMIC_HOST'); // $hosts = $config->get('HOST'); unset($config); $dynm_ip = array(); foreach ($dynm_host as $host) { $tmp = gethostbyname($host); if ($host == $tmp) { continue; } // IPが求まらない $dynm_ip[] = $tmp; } unset($tmp); $obj = new IPBL(); if (!empty($log_common['nolog_ip'])) { $obj->setMyNetList(array(array_merge($private_ip, $log_common['nolog_ip'], $dynm_ip))); } else { $obj->setMyNetList(array(array_merge($private_ip, $dynm_ip))); } $hosts = !is_array($ip) ? array($ip) : $ip; foreach ($hosts as $host) { $obj->setName($host); if ($obj->isMyNet()) { return true; } } return false; }