Example #1
0
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;
}
Example #2
0
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;
}