Einführung

Einführung -- Einführung in Net_DNSBL

Beschreibung

Net_DNSBL prüft, ob Hostnamen oder URLs sich in einer oder mehrerer Blackhole- oder Spam-Liste befinden. Unterstützt werden DNSBL, Real-time Blackhole List (RBL) und die Spam URI Realtime Blocklist (SURBL).

Achtung: derzeit funktioniert dies nur mit IPv4-Adressen.

Benutzung

Beginen wir mit einem einfachen Beispiel. Es soll geprüft werden, ob eine Hostadresse sich in zwei Blacklists wiederfindet:
<?php
require_once 'Net/DNSBL.php';
$dnsbl = new Net_DNSBL();
$remoteIP = $_SERVER['REMOTE_ADDR'];
$remoteIP = '81.70.69.193';
$dnsbl->setBlacklists(array('sbl-xbl.spamhaus.org', 'bl.spamcop.net'));
if ($dnsbl->isListed($remoteIP)) {
    // mach was
}
?>

Das nächste Beispiel versucht herauszufinden, ob eine URL in einer SURBL zu finden ist:
<?php
require_once 'Net/DNSBL/SURBL.php';
$surbl = new Net_DNSBL_SURBL();
if ($surbl->isListed($addData['url'])) {
    // do something
}
?>
Im nächsten Beispiel wird eine Reihe von URLs überprüft, die innerhalb eines Textes vorkommen. Der Code zur Ermittlung der URLs befindet sich auf http://www.phpfreaks.com/quickcode/Extract_All_URLs_on_a_Page/15.php.
<?php
foreach ($extracted_urls as $surbl_check_url) {
    if ($surbl->isListed($surbl_check_url)) {
        // mach was
        break;
    }
}
?>

Hier eine Überprüfung, ob der eigene Server irgendwo gelistet ist:
<?php
 require_once 'Net/DNSBL.php';
 $dnsbl = new Net_DNSBL();
 $dnsbl->setBlacklists(array('sbl-xbl.spamhaus.org', 'bl.spamcop.net'));
 if ($dnsbl->isListed($_SERVER['REMOTE_ADDR'])) {
    var_dump($dnsbl->getDetails($_SERVER['REMOTE_ADDR']));
    var_dump($dnsbl->getTxt($_SERVER['REMOTE_ADDR']));
    var_dump($dnsbl->getListingBl($_SERVER['REMOTE_ADDR']));
    var_dump($dnsbl->getListingRecord($_SERVER['REMOTE_ADDR']);
 }
?>