0

私が問題を抱えているのは、このスクリプトをローカルの wampserver で実行すると、既にブラックリストに登録されている場合は正しい結果が表示されますが、サーバーなどで実行すると... /usr/bin/php path-to-phpscript. php の場合、この IP がすべての bls 名でブラックリストに登録されていることが示されますが、これは正しくありません。

<?php

$bls = array("b.barracudacentral.org",
"bl.score.senderscore.com",
"pbl.spamhaus.org",
"sbl.spamhaus.org",
"xbl.spamhaus.org",
"zen.spamhaus.org",
"dbl.spamhaus.org",
"sbl-xbl.spamhaus.org",
);


$ip = '62.213.183.192';

if ( isset($ip)) {

if ( filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) || false === filter_var($ip, FILTER_VALIDATE_URL)) {

    if (false === filter_var($ip, FILTER_VALIDATE_URL  )) { 
        $iptosplit = gethostbyname($ip);
    }
    else {
        $iptosplit = $ip;
    }
    $splitip = explode (".", $iptosplit);
    $iptolookup = "$splitip[3].$splitip[2].$splitip[1].$splitip[0]";
    $counter=1;
    $blList = array();
    foreach ( $bls as $rbl ) {
        //echo "<tr>";
        $rbllookup = $iptolookup.".".$rbl;
        $lookup = gethostbyname($rbllookup);

        if ( $lookup != $rbllookup || $lookup == $ip) {
            $qtxtresult = dns_get_record("$rbllookup", DNS_TXT);
            if ( ! isset($qtxtresult[0]['txt']) ) {
                $qtxtresult[0]['txt'] = "";
            }
            $blList[$counter]=$ip.' is listed in ('.$rbl.')';
            echo '...........Listed in -'.$rbl.'<br />';                
        }
        echo str_repeat(" ", 24), "\n";

        $counter++;
    }
}
}
?>
4

1 に答える 1